#include"dao_gsl_others.h"

DAO_INIT_MODULE;
DaoVmSpace *__daoVmSpace = NULL;

#ifdef __cplusplus
extern "C"{
#endif

static DaoNumItem constNumbers[] =
{

  { "M_1_PI", DAO_DOUBLE, M_1_PI },
  { "M_2_PI", DAO_DOUBLE, M_2_PI },
  { "M_2_SQRTPI", DAO_DOUBLE, M_2_SQRTPI },
  { "M_E", DAO_DOUBLE, M_E },
  { "M_EULER", DAO_DOUBLE, M_EULER },
  { "M_LN10", DAO_DOUBLE, M_LN10 },
  { "M_LN2", DAO_DOUBLE, M_LN2 },
  { "M_LNPI", DAO_DOUBLE, M_LNPI },
  { "M_LOG10E", DAO_DOUBLE, M_LOG10E },
  { "M_LOG2E", DAO_DOUBLE, M_LOG2E },
  { "M_PI", DAO_DOUBLE, M_PI },
  { "M_PI_2", DAO_DOUBLE, M_PI_2 },
  { "M_PI_4", DAO_DOUBLE, M_PI_4 },
  { "M_SQRT1_2", DAO_DOUBLE, M_SQRT1_2 },
  { "M_SQRT2", DAO_DOUBLE, M_SQRT2 },
  { "M_SQRT3", DAO_DOUBLE, M_SQRT3 },
  { "M_SQRTPI", DAO_DOUBLE, M_SQRTPI },
  { "GSL_EIGEN_SORT_ABS_ASC", DAO_INTEGER, GSL_EIGEN_SORT_ABS_ASC },
  { "GSL_EIGEN_SORT_ABS_DESC", DAO_INTEGER, GSL_EIGEN_SORT_ABS_DESC },
  { "GSL_EIGEN_SORT_VAL_ASC", DAO_INTEGER, GSL_EIGEN_SORT_VAL_ASC },
  { "GSL_EIGEN_SORT_VAL_DESC", DAO_INTEGER, GSL_EIGEN_SORT_VAL_DESC },
  { "GSL_INTEG_COSINE", DAO_INTEGER, GSL_INTEG_COSINE },
  { "GSL_INTEG_GAUSS15", DAO_INTEGER, GSL_INTEG_GAUSS15 },
  { "GSL_INTEG_GAUSS21", DAO_INTEGER, GSL_INTEG_GAUSS21 },
  { "GSL_INTEG_GAUSS31", DAO_INTEGER, GSL_INTEG_GAUSS31 },
  { "GSL_INTEG_GAUSS41", DAO_INTEGER, GSL_INTEG_GAUSS41 },
  { "GSL_INTEG_GAUSS51", DAO_INTEGER, GSL_INTEG_GAUSS51 },
  { "GSL_INTEG_GAUSS61", DAO_INTEGER, GSL_INTEG_GAUSS61 },
  { "GSL_INTEG_SINE", DAO_INTEGER, GSL_INTEG_SINE },
  { "GSL_LINALG_MOD_CONJUGATE", DAO_INTEGER, GSL_LINALG_MOD_CONJUGATE },
  { "GSL_LINALG_MOD_NONE", DAO_INTEGER, GSL_LINALG_MOD_NONE },
  { "GSL_LINALG_MOD_TRANSPOSE", DAO_INTEGER, GSL_LINALG_MOD_TRANSPOSE },
  { "GSL_ODEIV_HADJ_DEC", DAO_INTEGER, GSL_ODEIV_HADJ_DEC },
  { "GSL_ODEIV_HADJ_INC", DAO_INTEGER, GSL_ODEIV_HADJ_INC },
  { "GSL_ODEIV_HADJ_NIL", DAO_INTEGER, GSL_ODEIV_HADJ_NIL },
  { "GSL_VEGAS_MODE_IMPORTANCE", DAO_INTEGER, GSL_VEGAS_MODE_IMPORTANCE },
  { "GSL_VEGAS_MODE_IMPORTANCE_ONLY", DAO_INTEGER, GSL_VEGAS_MODE_IMPORTANCE_ONLY },
  { "GSL_VEGAS_MODE_STRATIFIED", DAO_INTEGER, GSL_VEGAS_MODE_STRATIFIED },
  { "backward", DAO_INTEGER, backward },
  { "forward", DAO_INTEGER, forward },
  { "gsl_wavelet_backward", DAO_INTEGER, gsl_wavelet_backward },
  { "gsl_wavelet_backward", DAO_INTEGER, gsl_wavelet_backward },
  { "gsl_wavelet_forward", DAO_INTEGER, gsl_wavelet_forward },
  { "gsl_wavelet_forward", DAO_INTEGER, gsl_wavelet_forward },
  { NULL, 0, 0 }
};
static void dao__gsl_cdf_ugaussian_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_ugaussian_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_ugaussian_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_ugaussian_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gaussian_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gaussian_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gaussian_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gaussian_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gamma_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gamma_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gamma_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gamma_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_cauchy_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_cauchy_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_cauchy_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_cauchy_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_laplace_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_laplace_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_laplace_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_laplace_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_rayleigh_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_rayleigh_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_rayleigh_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_rayleigh_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_chisq_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_chisq_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_chisq_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_chisq_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_exponential_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_exponential_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_exponential_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_exponential_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_exppow_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_exppow_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_tdist_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_tdist_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_tdist_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_tdist_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_fdist_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_fdist_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_fdist_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_fdist_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_beta_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_beta_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_beta_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_beta_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_flat_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_flat_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_flat_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_flat_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_lognormal_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_lognormal_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_lognormal_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_lognormal_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gumbel1_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gumbel1_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gumbel1_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gumbel1_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gumbel2_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gumbel2_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gumbel2_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_gumbel2_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_weibull_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_weibull_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_weibull_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_weibull_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_pareto_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_pareto_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_pareto_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_pareto_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_logistic_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_logistic_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_logistic_Pinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_logistic_Qinv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_binomial_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_binomial_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_poisson_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_poisson_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_geometric_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_geometric_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_negative_binomial_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_negative_binomial_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_pascal_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_pascal_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_hypergeometric_P( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cdf_hypergeometric_Q( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_dht_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_dht_new( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_dht_init( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_dht_x_sample( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_dht_k_sample( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_dht_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_dht_apply( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_calloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_calloc_uniform( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_increment( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_accumulate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_find( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_get( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_get_xrange( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_get_yrange( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_xmax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_xmin( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_nx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_ymax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_ymin( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_ny( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_reset( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_calloc_range( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_set_ranges_uniform( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_set_ranges( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_memcpy( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_clone( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_max_val( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_max_bin( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_min_val( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_min_bin( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_xmean( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_ymean( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_xsigma( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_ysigma( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_cov( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_sum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_equal_bins_p( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_add( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_sub( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_mul( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_div( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_scale( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_shift( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_fwrite( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_fread( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_fprintf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_fscanf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_pdf_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_pdf_init( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_pdf_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram2d_pdf_sample( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_calloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_calloc_uniform( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_increment( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_accumulate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_find( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_get( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_get_range( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_max( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_min( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_bins( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_reset( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_calloc_range( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_set_ranges( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_set_ranges_uniform( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_memcpy( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_clone( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_max_val( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_max_bin( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_min_val( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_min_bin( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_equal_bins_p( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_add( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_sub( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_mul( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_div( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_scale( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_shift( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_sigma( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_mean( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_sum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_fwrite( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_fread( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_fprintf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_fscanf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_pdf_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_pdf_init( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_pdf_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_histogram_pdf_sample( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_accel_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_accel_reset( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_accel_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_init( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_min_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_eval_e( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_eval( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_eval_deriv_e( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_eval_deriv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_eval_deriv2_e( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_eval_deriv2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_eval_integ_e( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_eval_integ( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_bsearch( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_interp_accel_find( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ntuple_open( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ntuple_create( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ntuple_write( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ntuple_read( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ntuple_bookdata( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ntuple_project( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ntuple_close( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_memcpy( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_clone( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_max( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_min( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_fread( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_fwrite( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_state( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_print_state( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_env_setup( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_get( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_uniform( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_uniform_pos( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_rng_uniform_int( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_init( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_min_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_eval_e( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_eval( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_eval_deriv_e( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_eval_deriv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_eval_deriv2_e( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_eval_deriv2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_eval_integ_e( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_eval_integ( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_spline_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_sum_levin_u_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_sum_levin_u_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_sum_levin_u_accel( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_sum_levin_u_minmax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_sum_levin_u_step( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_sum_levin_utrunc_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_sum_levin_utrunc_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_sum_levin_utrunc_accel( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_sum_levin_utrunc_minmax( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_sum_levin_utrunc_step( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_log1p( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_expm1( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_hypot( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_hypot3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_acosh( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_asinh( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_atanh( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_isnan( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_isinf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_finite( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_nan( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_posinf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_neginf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_fdiv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_coerce_double( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_coerce_float( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_coerce_long_double( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ldexp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_frexp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_fcmp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet_workspace_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet_workspace_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet_transform( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet_transform_forward( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet_transform_inverse( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_step_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_step_reset( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_step_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_step_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_step_order( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_step_apply( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_control_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_control_init( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_control_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_control_hadjust( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_control_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_control_standard_new( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_control_y_new( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_control_yp_new( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_control_scaled_new( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_evolve_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_evolve_apply( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_evolve_reset( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_odeiv_evolve_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_symm_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_symm_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_symm( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_symmv_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_symmv_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_symmv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_herm_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_herm_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_herm( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_hermv_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_hermv_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_hermv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_francis_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_francis_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_francis_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_francis( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_francis_Z( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_nonsymm_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_nonsymm_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_nonsymm_params( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_nonsymm( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_nonsymm_Z( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_nonsymmv_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_nonsymmv_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_nonsymmv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_nonsymmv_Z( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gensymm_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gensymm_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gensymm( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gensymm_standardize( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gensymmv_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gensymmv_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gensymmv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genherm_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genherm_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genherm( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genherm_standardize( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genhermv_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genhermv_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genhermv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gen_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gen_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gen_params( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gen( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gen_QZ( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genv_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genv_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genv_QZ( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_symmv_sort( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_hermv_sort( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_nonsymmv_sort( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_gensymmv_sort( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genhermv_sort( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_genv_sort( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_schur_gen_eigvals( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_schur_solve_equation( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_schur_solve_equation_z( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_jacobi( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_eigen_invert_jacobi( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_matmult( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_matmult_mod( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_exponential_ss( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_householder_transform( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_householder_transform( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_householder_hm( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_householder_mh( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_householder_hv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_householder_hm1( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_householder_hm( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_householder_mh( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_householder_hv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_hessenberg_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_hessenberg_unpack( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_hessenberg_unpack_accum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_hessenberg_set_zero( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_hessenberg_submatrix( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_hessenberg( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_hesstri_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_SV_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_SV_decomp_mod( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_SV_decomp_jacobi( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_SV_solve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LU_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LU_solve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LU_svx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LU_refine( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LU_invert( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LU_det( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LU_lndet( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LU_sgndet( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_LU_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_LU_solve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_LU_svx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_LU_refine( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_LU_invert( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_LU_det( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_LU_lndet( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_LU_sgndet( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_solve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_svx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_lssolve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_QRsolve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_Rsolve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_Rsvx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_update( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_QTvec( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_Qvec( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_QTmat( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QR_unpack( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_R_solve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_R_svx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QRPT_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QRPT_decomp2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QRPT_solve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QRPT_svx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QRPT_QRsolve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QRPT_Rsolve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QRPT_Rsvx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_QRPT_update( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LQ_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LQ_solve_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LQ_svx_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LQ_lssolve_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LQ_Lsolve_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LQ_Lsvx_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_L_solve_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LQ_vecQ( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LQ_vecQT( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LQ_unpack( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LQ_update( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_LQ_LQsolve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_PTLQ_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_PTLQ_decomp2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_PTLQ_solve_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_PTLQ_svx_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_PTLQ_LQsolve_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_PTLQ_Lsolve_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_PTLQ_Lsvx_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_PTLQ_update( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_cholesky_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_cholesky_solve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_cholesky_svx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_cholesky_invert( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_cholesky_decomp_unit( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_cholesky_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_cholesky_solve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_complex_cholesky_svx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_symmtd_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_symmtd_unpack( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_symmtd_unpack_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_hermtd_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_hermtd_unpack( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_hermtd_unpack_T( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_HH_solve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_HH_svx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_solve_symm_tridiag( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_solve_tridiag( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_solve_symm_cyc_tridiag( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_solve_cyc_tridiag( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_bidiag_decomp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_bidiag_unpack( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_bidiag_unpack2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_bidiag_unpack_B( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_balance_matrix( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_balance_accum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_linalg_balance_columns( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_set_with_values( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_iterate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_x_minimum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_x_lower( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_x_upper( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_f_minimum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_f_lower( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_f_upper( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_fminimizer_minimum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_test_interval( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_min_find_bracket( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_plain_integrate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_plain_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_plain_init( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_plain_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_vegas_integrate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_vegas_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_vegas_init( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_vegas_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_linear_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_linear_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_linear( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_linear_svd( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_wlinear( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_wlinear_svd( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_linear_est( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_linear_residuals( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_gradient( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_covar( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fsolver_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fsolver_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fsolver_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fsolver_position( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fdfsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fdfsolver_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fdfsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fdfsolver_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fdfsolver_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_fdfsolver_position( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_test_delta( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multifit_test_gradient( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_diff( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fminimizer_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fminimizer_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fminimizer_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fminimizer_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fminimizer_iterate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fminimizer_x( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fminimizer_minimum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fminimizer_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_test_gradient( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_test_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fdfminimizer_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fdfminimizer_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fdfminimizer_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fdfminimizer_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fdfminimizer_iterate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fdfminimizer_restart( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fdfminimizer_x( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fdfminimizer_dx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fdfminimizer_gradient( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multimin_fdfminimizer_minimum( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fdjacobian( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fsolver_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fsolver_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fsolver_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fsolver_root( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fsolver_dx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fsolver_f( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fdfsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fdfsolver_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fdfsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fdfsolver_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fdfsolver_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fdfsolver_root( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fdfsolver_dx( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_fdfsolver_f( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_test_delta( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_multiroot_test_residual( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_bernoulli( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_bernoulli_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_beta( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_beta_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_binomial( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_binomial_knuth( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_binomial_tpe( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_binomial_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_exponential( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_exponential_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_exppow( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_exppow_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_cauchy( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_cauchy_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_chisq( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_chisq_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_dirichlet( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_dirichlet_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_dirichlet_lnpdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_erlang( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_erlang_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_fdist( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_fdist_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_flat( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_flat_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gamma( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gamma_int( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gamma_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gamma_mt( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gamma_knuth( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gaussian( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gaussian_ratio_method( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gaussian_ziggurat( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gaussian_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_ugaussian( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_ugaussian_ratio_method( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_ugaussian_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gaussian_tail( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gaussian_tail_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_ugaussian_tail( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_ugaussian_tail_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_bivariate_gaussian( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_bivariate_gaussian_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_landau( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_landau_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_geometric( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_geometric_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_hypergeometric( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_hypergeometric_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gumbel1( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gumbel1_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gumbel2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_gumbel2_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_logistic( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_logistic_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_lognormal( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_lognormal_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_logarithmic( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_logarithmic_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_multinomial( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_multinomial_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_multinomial_lnpdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_negative_binomial( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_negative_binomial_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_pascal( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_pascal_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_pareto( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_pareto_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_poisson( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_poisson_array( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_poisson_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_rayleigh( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_rayleigh_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_rayleigh_tail( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_rayleigh_tail_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_tdist( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_tdist_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_laplace( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_laplace_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_levy( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_levy_skew( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_weibull( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_weibull_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_dir_2d( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_dir_2d_trig_method( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_dir_3d( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_dir_nd( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_shuffle( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_choose( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_sample( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_discrete_preproc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_discrete_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_discrete( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_ran_discrete_pdf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fsolver_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fsolver_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fsolver_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fsolver_root( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fsolver_x_lower( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fsolver_x_upper( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fdfsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fdfsolver_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fdfsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fdfsolver_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fdfsolver_name( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_fdfsolver_root( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_test_interval( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_test_residual( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_root_test_delta( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_transform( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_transform_forward( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_transform_inverse( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_nstransform( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_nstransform_forward( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_nstransform_inverse( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_transform_matrix( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_transform_matrix_forward( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_transform_matrix_inverse( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_nstransform_matrix( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_nstransform_matrix_forward( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_wavelet2d_nstransform_matrix_inverse( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_init( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_order( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_coeffs( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_eval( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_eval_err( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_eval_n( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_eval_n_err( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_eval_mode( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_eval_mode_e( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_calc_deriv( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_cheb_calc_integ( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_deriv_central( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_deriv_backward( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_deriv_forward( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_diff_central( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_diff_backward( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_diff_forward( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_fit_linear( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_fit_wlinear( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_fit_linear_est( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_fit_mul( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_fit_wmul( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_fit_mul_est( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_workspace_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_workspace_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qaws_table_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qaws_table_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qaws_table_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qawo_table_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qawo_table_set( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qawo_table_set_length( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qawo_table_free( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qk15( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qk21( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qk31( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qk41( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qk51( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qk61( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qcheb( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qk( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qng( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qag( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qagi( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qagiu( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qagil( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qags( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qagp( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qawc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qaws( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qawo( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_integration_qawf( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_miser_integrate( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_miser_alloc( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_miser_init( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__gsl_monte_miser_free( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_Funcs[] =
{
  { dao__gsl_cdf_ugaussian_P, "gsl_cdf_ugaussian_P( x : double )=>double" },
  { dao__gsl_cdf_ugaussian_Q, "gsl_cdf_ugaussian_Q( x : double )=>double" },
  { dao__gsl_cdf_ugaussian_Pinv, "gsl_cdf_ugaussian_Pinv( P : double )=>double" },
  { dao__gsl_cdf_ugaussian_Qinv, "gsl_cdf_ugaussian_Qinv( Q : double )=>double" },
  { dao__gsl_cdf_gaussian_P, "gsl_cdf_gaussian_P( x : double, sigma : double )=>double" },
  { dao__gsl_cdf_gaussian_Q, "gsl_cdf_gaussian_Q( x : double, sigma : double )=>double" },
  { dao__gsl_cdf_gaussian_Pinv, "gsl_cdf_gaussian_Pinv( P : double, sigma : double )=>double" },
  { dao__gsl_cdf_gaussian_Qinv, "gsl_cdf_gaussian_Qinv( Q : double, sigma : double )=>double" },
  { dao__gsl_cdf_gamma_P, "gsl_cdf_gamma_P( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_gamma_Q, "gsl_cdf_gamma_Q( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_gamma_Pinv, "gsl_cdf_gamma_Pinv( P : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_gamma_Qinv, "gsl_cdf_gamma_Qinv( Q : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_cauchy_P, "gsl_cdf_cauchy_P( x : double, a : double )=>double" },
  { dao__gsl_cdf_cauchy_Q, "gsl_cdf_cauchy_Q( x : double, a : double )=>double" },
  { dao__gsl_cdf_cauchy_Pinv, "gsl_cdf_cauchy_Pinv( P : double, a : double )=>double" },
  { dao__gsl_cdf_cauchy_Qinv, "gsl_cdf_cauchy_Qinv( Q : double, a : double )=>double" },
  { dao__gsl_cdf_laplace_P, "gsl_cdf_laplace_P( x : double, a : double )=>double" },
  { dao__gsl_cdf_laplace_Q, "gsl_cdf_laplace_Q( x : double, a : double )=>double" },
  { dao__gsl_cdf_laplace_Pinv, "gsl_cdf_laplace_Pinv( P : double, a : double )=>double" },
  { dao__gsl_cdf_laplace_Qinv, "gsl_cdf_laplace_Qinv( Q : double, a : double )=>double" },
  { dao__gsl_cdf_rayleigh_P, "gsl_cdf_rayleigh_P( x : double, sigma : double )=>double" },
  { dao__gsl_cdf_rayleigh_Q, "gsl_cdf_rayleigh_Q( x : double, sigma : double )=>double" },
  { dao__gsl_cdf_rayleigh_Pinv, "gsl_cdf_rayleigh_Pinv( P : double, sigma : double )=>double" },
  { dao__gsl_cdf_rayleigh_Qinv, "gsl_cdf_rayleigh_Qinv( Q : double, sigma : double )=>double" },
  { dao__gsl_cdf_chisq_P, "gsl_cdf_chisq_P( x : double, nu : double )=>double" },
  { dao__gsl_cdf_chisq_Q, "gsl_cdf_chisq_Q( x : double, nu : double )=>double" },
  { dao__gsl_cdf_chisq_Pinv, "gsl_cdf_chisq_Pinv( P : double, nu : double )=>double" },
  { dao__gsl_cdf_chisq_Qinv, "gsl_cdf_chisq_Qinv( Q : double, nu : double )=>double" },
  { dao__gsl_cdf_exponential_P, "gsl_cdf_exponential_P( x : double, mu : double )=>double" },
  { dao__gsl_cdf_exponential_Q, "gsl_cdf_exponential_Q( x : double, mu : double )=>double" },
  { dao__gsl_cdf_exponential_Pinv, "gsl_cdf_exponential_Pinv( P : double, mu : double )=>double" },
  { dao__gsl_cdf_exponential_Qinv, "gsl_cdf_exponential_Qinv( Q : double, mu : double )=>double" },
  { dao__gsl_cdf_exppow_P, "gsl_cdf_exppow_P( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_exppow_Q, "gsl_cdf_exppow_Q( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_tdist_P, "gsl_cdf_tdist_P( x : double, nu : double )=>double" },
  { dao__gsl_cdf_tdist_Q, "gsl_cdf_tdist_Q( x : double, nu : double )=>double" },
  { dao__gsl_cdf_tdist_Pinv, "gsl_cdf_tdist_Pinv( P : double, nu : double )=>double" },
  { dao__gsl_cdf_tdist_Qinv, "gsl_cdf_tdist_Qinv( Q : double, nu : double )=>double" },
  { dao__gsl_cdf_fdist_P, "gsl_cdf_fdist_P( x : double, nu1 : double, nu2 : double )=>double" },
  { dao__gsl_cdf_fdist_Q, "gsl_cdf_fdist_Q( x : double, nu1 : double, nu2 : double )=>double" },
  { dao__gsl_cdf_fdist_Pinv, "gsl_cdf_fdist_Pinv( P : double, nu1 : double, nu2 : double )=>double" },
  { dao__gsl_cdf_fdist_Qinv, "gsl_cdf_fdist_Qinv( Q : double, nu1 : double, nu2 : double )=>double" },
  { dao__gsl_cdf_beta_P, "gsl_cdf_beta_P( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_beta_Q, "gsl_cdf_beta_Q( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_beta_Pinv, "gsl_cdf_beta_Pinv( P : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_beta_Qinv, "gsl_cdf_beta_Qinv( Q : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_flat_P, "gsl_cdf_flat_P( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_flat_Q, "gsl_cdf_flat_Q( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_flat_Pinv, "gsl_cdf_flat_Pinv( P : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_flat_Qinv, "gsl_cdf_flat_Qinv( Q : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_lognormal_P, "gsl_cdf_lognormal_P( x : double, zeta : double, sigma : double )=>double" },
  { dao__gsl_cdf_lognormal_Q, "gsl_cdf_lognormal_Q( x : double, zeta : double, sigma : double )=>double" },
  { dao__gsl_cdf_lognormal_Pinv, "gsl_cdf_lognormal_Pinv( P : double, zeta : double, sigma : double )=>double" },
  { dao__gsl_cdf_lognormal_Qinv, "gsl_cdf_lognormal_Qinv( Q : double, zeta : double, sigma : double )=>double" },
  { dao__gsl_cdf_gumbel1_P, "gsl_cdf_gumbel1_P( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_gumbel1_Q, "gsl_cdf_gumbel1_Q( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_gumbel1_Pinv, "gsl_cdf_gumbel1_Pinv( P : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_gumbel1_Qinv, "gsl_cdf_gumbel1_Qinv( Q : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_gumbel2_P, "gsl_cdf_gumbel2_P( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_gumbel2_Q, "gsl_cdf_gumbel2_Q( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_gumbel2_Pinv, "gsl_cdf_gumbel2_Pinv( P : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_gumbel2_Qinv, "gsl_cdf_gumbel2_Qinv( Q : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_weibull_P, "gsl_cdf_weibull_P( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_weibull_Q, "gsl_cdf_weibull_Q( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_weibull_Pinv, "gsl_cdf_weibull_Pinv( P : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_weibull_Qinv, "gsl_cdf_weibull_Qinv( Q : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_pareto_P, "gsl_cdf_pareto_P( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_pareto_Q, "gsl_cdf_pareto_Q( x : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_pareto_Pinv, "gsl_cdf_pareto_Pinv( P : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_pareto_Qinv, "gsl_cdf_pareto_Qinv( Q : double, a : double, b : double )=>double" },
  { dao__gsl_cdf_logistic_P, "gsl_cdf_logistic_P( x : double, a : double )=>double" },
  { dao__gsl_cdf_logistic_Q, "gsl_cdf_logistic_Q( x : double, a : double )=>double" },
  { dao__gsl_cdf_logistic_Pinv, "gsl_cdf_logistic_Pinv( P : double, a : double )=>double" },
  { dao__gsl_cdf_logistic_Qinv, "gsl_cdf_logistic_Qinv( Q : double, a : double )=>double" },
  { dao__gsl_cdf_binomial_P, "gsl_cdf_binomial_P( k : int, p : double, n : int )=>double" },
  { dao__gsl_cdf_binomial_Q, "gsl_cdf_binomial_Q( k : int, p : double, n : int )=>double" },
  { dao__gsl_cdf_poisson_P, "gsl_cdf_poisson_P( k : int, mu : double )=>double" },
  { dao__gsl_cdf_poisson_Q, "gsl_cdf_poisson_Q( k : int, mu : double )=>double" },
  { dao__gsl_cdf_geometric_P, "gsl_cdf_geometric_P( k : int, p : double )=>double" },
  { dao__gsl_cdf_geometric_Q, "gsl_cdf_geometric_Q( k : int, p : double )=>double" },
  { dao__gsl_cdf_negative_binomial_P, "gsl_cdf_negative_binomial_P( k : int, p : double, n : double )=>double" },
  { dao__gsl_cdf_negative_binomial_Q, "gsl_cdf_negative_binomial_Q( k : int, p : double, n : double )=>double" },
  { dao__gsl_cdf_pascal_P, "gsl_cdf_pascal_P( k : int, p : double, n : int )=>double" },
  { dao__gsl_cdf_pascal_Q, "gsl_cdf_pascal_Q( k : int, p : double, n : int )=>double" },
  { dao__gsl_cdf_hypergeometric_P, "gsl_cdf_hypergeometric_P( k : int, n1 : int, n2 : int, t : int )=>double" },
  { dao__gsl_cdf_hypergeometric_Q, "gsl_cdf_hypergeometric_Q( k : int, n1 : int, n2 : int, t : int )=>double" },
  { dao__gsl_dht_alloc, "gsl_dht_alloc( size : int )=>gsl_dht" },
  { dao__gsl_dht_new, "gsl_dht_new( size : int, nu : double, xmax : double )=>gsl_dht" },
  { dao__gsl_dht_init, "gsl_dht_init( t : gsl_dht, nu : double, xmax : double )=>int" },
  { dao__gsl_dht_x_sample, "gsl_dht_x_sample( t : gsl_dht, n : int )=>double" },
  { dao__gsl_dht_k_sample, "gsl_dht_k_sample( t : gsl_dht, n : int )=>double" },
  { dao__gsl_dht_free, "gsl_dht_free( t : gsl_dht )" },
  { dao__gsl_dht_apply, "gsl_dht_apply( t : gsl_dht, f_in : double, f_out : double )=>int" },
  { dao__gsl_histogram2d_alloc, "gsl_histogram2d_alloc( nx : int, ny : int )=>gsl_histogram2d" },
  { dao__gsl_histogram2d_calloc, "gsl_histogram2d_calloc( nx : int, ny : int )=>gsl_histogram2d" },
  { dao__gsl_histogram2d_calloc_uniform, "gsl_histogram2d_calloc_uniform( nx : int, ny : int, xmin : double, xmax : double, ymin : double, ymax : double )=>gsl_histogram2d" },
  { dao__gsl_histogram2d_free, "gsl_histogram2d_free( h : gsl_histogram2d )" },
  { dao__gsl_histogram2d_increment, "gsl_histogram2d_increment( h : gsl_histogram2d, x : double, y : double )=>int" },
  { dao__gsl_histogram2d_accumulate, "gsl_histogram2d_accumulate( h : gsl_histogram2d, x : double, y : double, weight : double )=>int" },
  { dao__gsl_histogram2d_find, "gsl_histogram2d_find( h : gsl_histogram2d, x : double, y : double, i : int, j : int )=>int" },
  { dao__gsl_histogram2d_get, "gsl_histogram2d_get( h : gsl_histogram2d, i : int, j : int )=>double" },
  { dao__gsl_histogram2d_get_xrange, "gsl_histogram2d_get_xrange( h : gsl_histogram2d, i : int, xlower : double, xupper : double )=>int" },
  { dao__gsl_histogram2d_get_yrange, "gsl_histogram2d_get_yrange( h : gsl_histogram2d, j : int, ylower : double, yupper : double )=>int" },
  { dao__gsl_histogram2d_xmax, "gsl_histogram2d_xmax( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_xmin, "gsl_histogram2d_xmin( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_nx, "gsl_histogram2d_nx( h : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_ymax, "gsl_histogram2d_ymax( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_ymin, "gsl_histogram2d_ymin( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_ny, "gsl_histogram2d_ny( h : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_reset, "gsl_histogram2d_reset( h : gsl_histogram2d )" },
  { dao__gsl_histogram2d_calloc_range, "gsl_histogram2d_calloc_range( nx : int, ny : int, xrange : double, yrange : double )=>gsl_histogram2d" },
  { dao__gsl_histogram2d_set_ranges_uniform, "gsl_histogram2d_set_ranges_uniform( h : gsl_histogram2d, xmin : double, xmax : double, ymin : double, ymax : double )=>int" },
  { dao__gsl_histogram2d_set_ranges, "gsl_histogram2d_set_ranges( h : gsl_histogram2d, xrange : array<double>, xsize : int, yrange : array<double>, ysize : int )=>int" },
  { dao__gsl_histogram2d_memcpy, "gsl_histogram2d_memcpy( dest : gsl_histogram2d, source : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_clone, "gsl_histogram2d_clone( source : gsl_histogram2d )=>gsl_histogram2d" },
  { dao__gsl_histogram2d_max_val, "gsl_histogram2d_max_val( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_max_bin, "gsl_histogram2d_max_bin( h : gsl_histogram2d, i : int, j : int )" },
  { dao__gsl_histogram2d_min_val, "gsl_histogram2d_min_val( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_min_bin, "gsl_histogram2d_min_bin( h : gsl_histogram2d, i : int, j : int )" },
  { dao__gsl_histogram2d_xmean, "gsl_histogram2d_xmean( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_ymean, "gsl_histogram2d_ymean( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_xsigma, "gsl_histogram2d_xsigma( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_ysigma, "gsl_histogram2d_ysigma( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_cov, "gsl_histogram2d_cov( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_sum, "gsl_histogram2d_sum( h : gsl_histogram2d )=>double" },
  { dao__gsl_histogram2d_equal_bins_p, "gsl_histogram2d_equal_bins_p( h1 : gsl_histogram2d, h2 : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_add, "gsl_histogram2d_add( h1 : gsl_histogram2d, h2 : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_sub, "gsl_histogram2d_sub( h1 : gsl_histogram2d, h2 : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_mul, "gsl_histogram2d_mul( h1 : gsl_histogram2d, h2 : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_div, "gsl_histogram2d_div( h1 : gsl_histogram2d, h2 : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_scale, "gsl_histogram2d_scale( h : gsl_histogram2d, scale : double )=>int" },
  { dao__gsl_histogram2d_shift, "gsl_histogram2d_shift( h : gsl_histogram2d, shift : double )=>int" },
  { dao__gsl_histogram2d_fwrite, "gsl_histogram2d_fwrite( stream : stream, h : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_fread, "gsl_histogram2d_fread( stream : stream, h : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_fprintf, "gsl_histogram2d_fprintf( stream : stream, h : gsl_histogram2d, range_format : string, bin_format : string )=>int" },
  { dao__gsl_histogram2d_fscanf, "gsl_histogram2d_fscanf( stream : stream, h : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_pdf_alloc, "gsl_histogram2d_pdf_alloc( nx : int, ny : int )=>gsl_histogram2d_pdf" },
  { dao__gsl_histogram2d_pdf_init, "gsl_histogram2d_pdf_init( p : gsl_histogram2d_pdf, h : gsl_histogram2d )=>int" },
  { dao__gsl_histogram2d_pdf_free, "gsl_histogram2d_pdf_free( p : gsl_histogram2d_pdf )" },
  { dao__gsl_histogram2d_pdf_sample, "gsl_histogram2d_pdf_sample( p : gsl_histogram2d_pdf, r1 : double, r2 : double, x : double, y : double )=>int" },
  { dao__gsl_histogram_alloc, "gsl_histogram_alloc( n : int )=>gsl_histogram" },
  { dao__gsl_histogram_calloc, "gsl_histogram_calloc( n : int )=>gsl_histogram" },
  { dao__gsl_histogram_calloc_uniform, "gsl_histogram_calloc_uniform( n : int, xmin : double, xmax : double )=>gsl_histogram" },
  { dao__gsl_histogram_free, "gsl_histogram_free( h : gsl_histogram )" },
  { dao__gsl_histogram_increment, "gsl_histogram_increment( h : gsl_histogram, x : double )=>int" },
  { dao__gsl_histogram_accumulate, "gsl_histogram_accumulate( h : gsl_histogram, x : double, weight : double )=>int" },
  { dao__gsl_histogram_find, "gsl_histogram_find( h : gsl_histogram, x : double, i : int )=>int" },
  { dao__gsl_histogram_get, "gsl_histogram_get( h : gsl_histogram, i : int )=>double" },
  { dao__gsl_histogram_get_range, "gsl_histogram_get_range( h : gsl_histogram, i : int, lower : double, upper : double )=>int" },
  { dao__gsl_histogram_max, "gsl_histogram_max( h : gsl_histogram )=>double" },
  { dao__gsl_histogram_min, "gsl_histogram_min( h : gsl_histogram )=>double" },
  { dao__gsl_histogram_bins, "gsl_histogram_bins( h : gsl_histogram )=>int" },
  { dao__gsl_histogram_reset, "gsl_histogram_reset( h : gsl_histogram )" },
  { dao__gsl_histogram_calloc_range, "gsl_histogram_calloc_range( n : int, range : double )=>gsl_histogram" },
  { dao__gsl_histogram_set_ranges, "gsl_histogram_set_ranges( h : gsl_histogram, range : array<double>, size : int )=>int" },
  { dao__gsl_histogram_set_ranges_uniform, "gsl_histogram_set_ranges_uniform( h : gsl_histogram, xmin : double, xmax : double )=>int" },
  { dao__gsl_histogram_memcpy, "gsl_histogram_memcpy( dest : gsl_histogram, source : gsl_histogram )=>int" },
  { dao__gsl_histogram_clone, "gsl_histogram_clone( source : gsl_histogram )=>gsl_histogram" },
  { dao__gsl_histogram_max_val, "gsl_histogram_max_val( h : gsl_histogram )=>double" },
  { dao__gsl_histogram_max_bin, "gsl_histogram_max_bin( h : gsl_histogram )=>int" },
  { dao__gsl_histogram_min_val, "gsl_histogram_min_val( h : gsl_histogram )=>double" },
  { dao__gsl_histogram_min_bin, "gsl_histogram_min_bin( h : gsl_histogram )=>int" },
  { dao__gsl_histogram_equal_bins_p, "gsl_histogram_equal_bins_p( h1 : gsl_histogram, h2 : gsl_histogram )=>int" },
  { dao__gsl_histogram_add, "gsl_histogram_add( h1 : gsl_histogram, h2 : gsl_histogram )=>int" },
  { dao__gsl_histogram_sub, "gsl_histogram_sub( h1 : gsl_histogram, h2 : gsl_histogram )=>int" },
  { dao__gsl_histogram_mul, "gsl_histogram_mul( h1 : gsl_histogram, h2 : gsl_histogram )=>int" },
  { dao__gsl_histogram_div, "gsl_histogram_div( h1 : gsl_histogram, h2 : gsl_histogram )=>int" },
  { dao__gsl_histogram_scale, "gsl_histogram_scale( h : gsl_histogram, scale : double )=>int" },
  { dao__gsl_histogram_shift, "gsl_histogram_shift( h : gsl_histogram, shift : double )=>int" },
  { dao__gsl_histogram_sigma, "gsl_histogram_sigma( h : gsl_histogram )=>double" },
  { dao__gsl_histogram_mean, "gsl_histogram_mean( h : gsl_histogram )=>double" },
  { dao__gsl_histogram_sum, "gsl_histogram_sum( h : gsl_histogram )=>double" },
  { dao__gsl_histogram_fwrite, "gsl_histogram_fwrite( stream : stream, h : gsl_histogram )=>int" },
  { dao__gsl_histogram_fread, "gsl_histogram_fread( stream : stream, h : gsl_histogram )=>int" },
  { dao__gsl_histogram_fprintf, "gsl_histogram_fprintf( stream : stream, h : gsl_histogram, range_format : string, bin_format : string )=>int" },
  { dao__gsl_histogram_fscanf, "gsl_histogram_fscanf( stream : stream, h : gsl_histogram )=>int" },
  { dao__gsl_histogram_pdf_alloc, "gsl_histogram_pdf_alloc( n : int )=>gsl_histogram_pdf" },
  { dao__gsl_histogram_pdf_init, "gsl_histogram_pdf_init( p : gsl_histogram_pdf, h : gsl_histogram )=>int" },
  { dao__gsl_histogram_pdf_free, "gsl_histogram_pdf_free( p : gsl_histogram_pdf )" },
  { dao__gsl_histogram_pdf_sample, "gsl_histogram_pdf_sample( p : gsl_histogram_pdf, r : double )=>double" },
  { dao__gsl_interp_accel_alloc, "gsl_interp_accel_alloc(  )=>gsl_interp_accel" },
  { dao__gsl_interp_accel_reset, "gsl_interp_accel_reset( a : gsl_interp_accel )=>int" },
  { dao__gsl_interp_accel_free, "gsl_interp_accel_free( a : gsl_interp_accel )" },
  { dao__gsl_interp_alloc, "gsl_interp_alloc( T : gsl_interp_type, n : int )=>gsl_interp" },
  { dao__gsl_interp_init, "gsl_interp_init( obj : gsl_interp, xa : array<double>, ya : array<double>, size : int )=>int" },
  { dao__gsl_interp_name, "gsl_interp_name( interp : gsl_interp )=>string" },
  { dao__gsl_interp_min_size, "gsl_interp_min_size( interp : gsl_interp )=>int" },
  { dao__gsl_interp_eval_e, "gsl_interp_eval_e( obj : gsl_interp, xa : array<double>, ya : array<double>, x : double, a : gsl_interp_accel, y : double )=>int" },
  { dao__gsl_interp_eval, "gsl_interp_eval( obj : gsl_interp, xa : array<double>, ya : array<double>, x : double, a : gsl_interp_accel )=>double" },
  { dao__gsl_interp_eval_deriv_e, "gsl_interp_eval_deriv_e( obj : gsl_interp, xa : array<double>, ya : array<double>, x : double, a : gsl_interp_accel, d : double )=>int" },
  { dao__gsl_interp_eval_deriv, "gsl_interp_eval_deriv( obj : gsl_interp, xa : array<double>, ya : array<double>, x : double, a : gsl_interp_accel )=>double" },
  { dao__gsl_interp_eval_deriv2_e, "gsl_interp_eval_deriv2_e( obj : gsl_interp, xa : array<double>, ya : array<double>, x : double, a : gsl_interp_accel, d2 : double )=>int" },
  { dao__gsl_interp_eval_deriv2, "gsl_interp_eval_deriv2( obj : gsl_interp, xa : array<double>, ya : array<double>, x : double, a : gsl_interp_accel )=>double" },
  { dao__gsl_interp_eval_integ_e, "gsl_interp_eval_integ_e( obj : gsl_interp, xa : array<double>, ya : array<double>, a : double, b : double, acc : gsl_interp_accel, result : double )=>int" },
  { dao__gsl_interp_eval_integ, "gsl_interp_eval_integ( obj : gsl_interp, xa : array<double>, ya : array<double>, a : double, b : double, acc : gsl_interp_accel )=>double" },
  { dao__gsl_interp_free, "gsl_interp_free( interp : gsl_interp )" },
  { dao__gsl_interp_bsearch, "gsl_interp_bsearch( x_array : array<double>, x : double, index_lo : int, index_hi : int )=>int" },
  { dao__gsl_interp_accel_find, "gsl_interp_accel_find( a : gsl_interp_accel, x_array : array<double>, size : int, x : double )=>int" },
  { dao__gsl_ntuple_open, "gsl_ntuple_open( filename : string, ntuple_data : cdata, size : int )=>gsl_ntuple" },
  { dao__gsl_ntuple_create, "gsl_ntuple_create( filename : string, ntuple_data : cdata, size : int )=>gsl_ntuple" },
  { dao__gsl_ntuple_write, "gsl_ntuple_write( ntuple : gsl_ntuple )=>int" },
  { dao__gsl_ntuple_read, "gsl_ntuple_read( ntuple : gsl_ntuple )=>int" },
  { dao__gsl_ntuple_bookdata, "gsl_ntuple_bookdata( ntuple : gsl_ntuple )=>int" },
  { dao__gsl_ntuple_project, "gsl_ntuple_project( h : gsl_histogram, ntuple : gsl_ntuple, value_func : gsl_ntuple_value_fn, select_func : gsl_ntuple_select_fn )=>int" },
  { dao__gsl_ntuple_close, "gsl_ntuple_close( ntuple : gsl_ntuple )=>int" },
  { dao__gsl_rng_alloc, "gsl_rng_alloc( T : gsl_rng_type )=>gsl_rng" },
  { dao__gsl_rng_memcpy, "gsl_rng_memcpy( dest : gsl_rng, src : gsl_rng )=>int" },
  { dao__gsl_rng_clone, "gsl_rng_clone( r : gsl_rng )=>gsl_rng" },
  { dao__gsl_rng_free, "gsl_rng_free( r : gsl_rng )" },
  { dao__gsl_rng_set, "gsl_rng_set( r : gsl_rng, seed : int )" },
  { dao__gsl_rng_max, "gsl_rng_max( r : gsl_rng )=>int" },
  { dao__gsl_rng_min, "gsl_rng_min( r : gsl_rng )=>int" },
  { dao__gsl_rng_name, "gsl_rng_name( r : gsl_rng )=>string" },
  { dao__gsl_rng_fread, "gsl_rng_fread( stream : stream, r : gsl_rng )=>int" },
  { dao__gsl_rng_fwrite, "gsl_rng_fwrite( stream : stream, r : gsl_rng )=>int" },
  { dao__gsl_rng_size, "gsl_rng_size( r : gsl_rng )=>int" },
  { dao__gsl_rng_state, "gsl_rng_state( r : gsl_rng )=>cdata" },
  { dao__gsl_rng_print_state, "gsl_rng_print_state( r : gsl_rng )" },
  { dao__gsl_rng_env_setup, "gsl_rng_env_setup(  )=>gsl_rng_type" },
  { dao__gsl_rng_get, "gsl_rng_get( r : gsl_rng )=>int" },
  { dao__gsl_rng_uniform, "gsl_rng_uniform( r : gsl_rng )=>double" },
  { dao__gsl_rng_uniform_pos, "gsl_rng_uniform_pos( r : gsl_rng )=>double" },
  { dao__gsl_rng_uniform_int, "gsl_rng_uniform_int( r : gsl_rng, n : int )=>int" },
  { dao__gsl_spline_alloc, "gsl_spline_alloc( T : gsl_interp_type, size : int )=>gsl_spline" },
  { dao__gsl_spline_init, "gsl_spline_init( spline : gsl_spline, xa : array<double>, ya : array<double>, size : int )=>int" },
  { dao__gsl_spline_name, "gsl_spline_name( spline : gsl_spline )=>string" },
  { dao__gsl_spline_min_size, "gsl_spline_min_size( spline : gsl_spline )=>int" },
  { dao__gsl_spline_eval_e, "gsl_spline_eval_e( spline : gsl_spline, x : double, a : gsl_interp_accel, y : double )=>int" },
  { dao__gsl_spline_eval, "gsl_spline_eval( spline : gsl_spline, x : double, a : gsl_interp_accel )=>double" },
  { dao__gsl_spline_eval_deriv_e, "gsl_spline_eval_deriv_e( spline : gsl_spline, x : double, a : gsl_interp_accel, y : double )=>int" },
  { dao__gsl_spline_eval_deriv, "gsl_spline_eval_deriv( spline : gsl_spline, x : double, a : gsl_interp_accel )=>double" },
  { dao__gsl_spline_eval_deriv2_e, "gsl_spline_eval_deriv2_e( spline : gsl_spline, x : double, a : gsl_interp_accel, y : double )=>int" },
  { dao__gsl_spline_eval_deriv2, "gsl_spline_eval_deriv2( spline : gsl_spline, x : double, a : gsl_interp_accel )=>double" },
  { dao__gsl_spline_eval_integ_e, "gsl_spline_eval_integ_e( spline : gsl_spline, a : double, b : double, acc : gsl_interp_accel, y : double )=>int" },
  { dao__gsl_spline_eval_integ, "gsl_spline_eval_integ( spline : gsl_spline, a : double, b : double, acc : gsl_interp_accel )=>double" },
  { dao__gsl_spline_free, "gsl_spline_free( spline : gsl_spline )" },
  { dao__gsl_sum_levin_u_alloc, "gsl_sum_levin_u_alloc( n : int )=>gsl_sum_levin_u_workspace" },
  { dao__gsl_sum_levin_u_free, "gsl_sum_levin_u_free( w : gsl_sum_levin_u_workspace )" },
  { dao__gsl_sum_levin_u_accel, "gsl_sum_levin_u_accel( array : array<double>, n : int, w : gsl_sum_levin_u_workspace, sum_accel : double, abserr : double )=>int" },
  { dao__gsl_sum_levin_u_minmax, "gsl_sum_levin_u_minmax( array : array<double>, n : int, min_terms : int, max_terms : int, w : gsl_sum_levin_u_workspace, sum_accel : double, abserr : double )=>int" },
  { dao__gsl_sum_levin_u_step, "gsl_sum_levin_u_step( term : double, n : int, nmax : int, w : gsl_sum_levin_u_workspace, sum_accel : double )=>int" },
  { dao__gsl_sum_levin_utrunc_alloc, "gsl_sum_levin_utrunc_alloc( n : int )=>gsl_sum_levin_utrunc_workspace" },
  { dao__gsl_sum_levin_utrunc_free, "gsl_sum_levin_utrunc_free( w : gsl_sum_levin_utrunc_workspace )" },
  { dao__gsl_sum_levin_utrunc_accel, "gsl_sum_levin_utrunc_accel( array : array<double>, n : int, w : gsl_sum_levin_utrunc_workspace, sum_accel : double, abserr_trunc : double )=>int" },
  { dao__gsl_sum_levin_utrunc_minmax, "gsl_sum_levin_utrunc_minmax( array : array<double>, n : int, min_terms : int, max_terms : int, w : gsl_sum_levin_utrunc_workspace, sum_accel : double, abserr_trunc : double )=>int" },
  { dao__gsl_sum_levin_utrunc_step, "gsl_sum_levin_utrunc_step( term : double, n : int, w : gsl_sum_levin_utrunc_workspace, sum_accel : double )=>int" },
  { dao__gsl_log1p, "gsl_log1p( x : double )=>double" },
  { dao__gsl_expm1, "gsl_expm1( x : double )=>double" },
  { dao__gsl_hypot, "gsl_hypot( x : double, y : double )=>double" },
  { dao__gsl_hypot3, "gsl_hypot3( x : double, y : double, z : double )=>double" },
  { dao__gsl_acosh, "gsl_acosh( x : double )=>double" },
  { dao__gsl_asinh, "gsl_asinh( x : double )=>double" },
  { dao__gsl_atanh, "gsl_atanh( x : double )=>double" },
  { dao__gsl_isnan, "gsl_isnan( x : double )=>int" },
  { dao__gsl_isinf, "gsl_isinf( x : double )=>int" },
  { dao__gsl_finite, "gsl_finite( x : double )=>int" },
  { dao__gsl_nan, "gsl_nan(  )=>double" },
  { dao__gsl_posinf, "gsl_posinf(  )=>double" },
  { dao__gsl_neginf, "gsl_neginf(  )=>double" },
  { dao__gsl_fdiv, "gsl_fdiv( x : double, y : double )=>double" },
  { dao__gsl_coerce_double, "gsl_coerce_double( x : double )=>double" },
  { dao__gsl_coerce_float, "gsl_coerce_float( x : float )=>float" },
  { dao__gsl_coerce_long_double, "gsl_coerce_long_double( x : double )=>double" },
  { dao__gsl_ldexp, "gsl_ldexp( x : double, e : int )=>double" },
  { dao__gsl_frexp, "gsl_frexp( x : double, e : int )=>double" },
  { dao__gsl_fcmp, "gsl_fcmp( x1 : double, x2 : double, epsilon : double )=>int" },
  { dao__gsl_wavelet_alloc, "gsl_wavelet_alloc( T : gsl_wavelet_type, k : int )=>gsl_wavelet" },
  { dao__gsl_wavelet_free, "gsl_wavelet_free( w : gsl_wavelet )" },
  { dao__gsl_wavelet_name, "gsl_wavelet_name( w : gsl_wavelet )=>string" },
  { dao__gsl_wavelet_workspace_alloc, "gsl_wavelet_workspace_alloc( n : int )=>gsl_wavelet_workspace" },
  { dao__gsl_wavelet_workspace_free, "gsl_wavelet_workspace_free( work : gsl_wavelet_workspace )" },
  { dao__gsl_wavelet_transform, "gsl_wavelet_transform( w : gsl_wavelet, data : array<double>, stride : int, n : int, dir : int, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet_transform_forward, "gsl_wavelet_transform_forward( w : gsl_wavelet, data : array<double>, stride : int, n : int, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet_transform_inverse, "gsl_wavelet_transform_inverse( w : gsl_wavelet, data : array<double>, stride : int, n : int, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_odeiv_step_alloc, "gsl_odeiv_step_alloc( T : gsl_odeiv_step_type, dim : int )=>gsl_odeiv_step" },
  { dao__gsl_odeiv_step_reset, "gsl_odeiv_step_reset( s : gsl_odeiv_step )=>int" },
  { dao__gsl_odeiv_step_free, "gsl_odeiv_step_free( s : gsl_odeiv_step )" },
  { dao__gsl_odeiv_step_name, "gsl_odeiv_step_name( _cp0 : gsl_odeiv_step )=>string" },
  { dao__gsl_odeiv_step_order, "gsl_odeiv_step_order( s : gsl_odeiv_step )=>int" },
  { dao__gsl_odeiv_step_apply, "gsl_odeiv_step_apply( _cp0 : gsl_odeiv_step, t : double, h : double, y : array<double>, yerr : array<double>, dydt_in : array<double>, dydt_out : array<double>, dydt : gsl_odeiv_system )=>int" },
  { dao__gsl_odeiv_control_alloc, "gsl_odeiv_control_alloc( T : gsl_odeiv_control_type )=>gsl_odeiv_control" },
  { dao__gsl_odeiv_control_init, "gsl_odeiv_control_init( c : gsl_odeiv_control, eps_abs : double, eps_rel : double, a_y : double, a_dydt : double )=>int" },
  { dao__gsl_odeiv_control_free, "gsl_odeiv_control_free( c : gsl_odeiv_control )" },
  { dao__gsl_odeiv_control_hadjust, "gsl_odeiv_control_hadjust( c : gsl_odeiv_control, s : gsl_odeiv_step, y : array<double>, yerr : array<double>, dydt : array<double>, h : double )=>int" },
  { dao__gsl_odeiv_control_name, "gsl_odeiv_control_name( c : gsl_odeiv_control )=>string" },
  { dao__gsl_odeiv_control_standard_new, "gsl_odeiv_control_standard_new( eps_abs : double, eps_rel : double, a_y : double, a_dydt : double )=>gsl_odeiv_control" },
  { dao__gsl_odeiv_control_y_new, "gsl_odeiv_control_y_new( eps_abs : double, eps_rel : double )=>gsl_odeiv_control" },
  { dao__gsl_odeiv_control_yp_new, "gsl_odeiv_control_yp_new( eps_abs : double, eps_rel : double )=>gsl_odeiv_control" },
  { dao__gsl_odeiv_control_scaled_new, "gsl_odeiv_control_scaled_new( eps_abs : double, eps_rel : double, a_y : double, a_dydt : double, scale_abs : array<double>, dim : int )=>gsl_odeiv_control" },
  { dao__gsl_odeiv_evolve_alloc, "gsl_odeiv_evolve_alloc( dim : int )=>gsl_odeiv_evolve" },
  { dao__gsl_odeiv_evolve_apply, "gsl_odeiv_evolve_apply( _cp0 : gsl_odeiv_evolve, con : gsl_odeiv_control, step : gsl_odeiv_step, dydt : gsl_odeiv_system, t : double, t1 : double, h : double, y : array<double> )=>int" },
  { dao__gsl_odeiv_evolve_reset, "gsl_odeiv_evolve_reset( _cp0 : gsl_odeiv_evolve )=>int" },
  { dao__gsl_odeiv_evolve_free, "gsl_odeiv_evolve_free( _cp0 : gsl_odeiv_evolve )" },
  { dao__gsl_eigen_symm_alloc, "gsl_eigen_symm_alloc( n : int )=>gsl_eigen_symm_workspace" },
  { dao__gsl_eigen_symm_free, "gsl_eigen_symm_free( w : gsl_eigen_symm_workspace )" },
  { dao__gsl_eigen_symm, "gsl_eigen_symm( A : gsl_matrix, eval : gsl_vector, w : gsl_eigen_symm_workspace )=>int" },
  { dao__gsl_eigen_symmv_alloc, "gsl_eigen_symmv_alloc( n : int )=>gsl_eigen_symmv_workspace" },
  { dao__gsl_eigen_symmv_free, "gsl_eigen_symmv_free( w : gsl_eigen_symmv_workspace )" },
  { dao__gsl_eigen_symmv, "gsl_eigen_symmv( A : gsl_matrix, eval : gsl_vector, evec : gsl_matrix, w : gsl_eigen_symmv_workspace )=>int" },
  { dao__gsl_eigen_herm_alloc, "gsl_eigen_herm_alloc( n : int )=>gsl_eigen_herm_workspace" },
  { dao__gsl_eigen_herm_free, "gsl_eigen_herm_free( w : gsl_eigen_herm_workspace )" },
  { dao__gsl_eigen_herm, "gsl_eigen_herm( A : gsl_matrix_complex, eval : gsl_vector, w : gsl_eigen_herm_workspace )=>int" },
  { dao__gsl_eigen_hermv_alloc, "gsl_eigen_hermv_alloc( n : int )=>gsl_eigen_hermv_workspace" },
  { dao__gsl_eigen_hermv_free, "gsl_eigen_hermv_free( w : gsl_eigen_hermv_workspace )" },
  { dao__gsl_eigen_hermv, "gsl_eigen_hermv( A : gsl_matrix_complex, eval : gsl_vector, evec : gsl_matrix_complex, w : gsl_eigen_hermv_workspace )=>int" },
  { dao__gsl_eigen_francis_alloc, "gsl_eigen_francis_alloc(  )=>gsl_eigen_francis_workspace" },
  { dao__gsl_eigen_francis_free, "gsl_eigen_francis_free( w : gsl_eigen_francis_workspace )" },
  { dao__gsl_eigen_francis_T, "gsl_eigen_francis_T( compute_t : int, w : gsl_eigen_francis_workspace )" },
  { dao__gsl_eigen_francis, "gsl_eigen_francis( H : gsl_matrix, eval : gsl_vector_complex, w : gsl_eigen_francis_workspace )=>int" },
  { dao__gsl_eigen_francis_Z, "gsl_eigen_francis_Z( H : gsl_matrix, eval : gsl_vector_complex, Z : gsl_matrix, w : gsl_eigen_francis_workspace )=>int" },
  { dao__gsl_eigen_nonsymm_alloc, "gsl_eigen_nonsymm_alloc( n : int )=>gsl_eigen_nonsymm_workspace" },
  { dao__gsl_eigen_nonsymm_free, "gsl_eigen_nonsymm_free( w : gsl_eigen_nonsymm_workspace )" },
  { dao__gsl_eigen_nonsymm_params, "gsl_eigen_nonsymm_params( compute_t : int, balance : int, w : gsl_eigen_nonsymm_workspace )" },
  { dao__gsl_eigen_nonsymm, "gsl_eigen_nonsymm( A : gsl_matrix, eval : gsl_vector_complex, w : gsl_eigen_nonsymm_workspace )=>int" },
  { dao__gsl_eigen_nonsymm_Z, "gsl_eigen_nonsymm_Z( A : gsl_matrix, eval : gsl_vector_complex, Z : gsl_matrix, w : gsl_eigen_nonsymm_workspace )=>int" },
  { dao__gsl_eigen_nonsymmv_alloc, "gsl_eigen_nonsymmv_alloc( n : int )=>gsl_eigen_nonsymmv_workspace" },
  { dao__gsl_eigen_nonsymmv_free, "gsl_eigen_nonsymmv_free( w : gsl_eigen_nonsymmv_workspace )" },
  { dao__gsl_eigen_nonsymmv, "gsl_eigen_nonsymmv( A : gsl_matrix, eval : gsl_vector_complex, evec : gsl_matrix_complex, w : gsl_eigen_nonsymmv_workspace )=>int" },
  { dao__gsl_eigen_nonsymmv_Z, "gsl_eigen_nonsymmv_Z( A : gsl_matrix, eval : gsl_vector_complex, evec : gsl_matrix_complex, Z : gsl_matrix, w : gsl_eigen_nonsymmv_workspace )=>int" },
  { dao__gsl_eigen_gensymm_alloc, "gsl_eigen_gensymm_alloc( n : int )=>gsl_eigen_gensymm_workspace" },
  { dao__gsl_eigen_gensymm_free, "gsl_eigen_gensymm_free( w : gsl_eigen_gensymm_workspace )" },
  { dao__gsl_eigen_gensymm, "gsl_eigen_gensymm( A : gsl_matrix, B : gsl_matrix, eval : gsl_vector, w : gsl_eigen_gensymm_workspace )=>int" },
  { dao__gsl_eigen_gensymm_standardize, "gsl_eigen_gensymm_standardize( A : gsl_matrix, B : gsl_matrix )=>int" },
  { dao__gsl_eigen_gensymmv_alloc, "gsl_eigen_gensymmv_alloc( n : int )=>gsl_eigen_gensymmv_workspace" },
  { dao__gsl_eigen_gensymmv_free, "gsl_eigen_gensymmv_free( w : gsl_eigen_gensymmv_workspace )" },
  { dao__gsl_eigen_gensymmv, "gsl_eigen_gensymmv( A : gsl_matrix, B : gsl_matrix, eval : gsl_vector, evec : gsl_matrix, w : gsl_eigen_gensymmv_workspace )=>int" },
  { dao__gsl_eigen_genherm_alloc, "gsl_eigen_genherm_alloc( n : int )=>gsl_eigen_genherm_workspace" },
  { dao__gsl_eigen_genherm_free, "gsl_eigen_genherm_free( w : gsl_eigen_genherm_workspace )" },
  { dao__gsl_eigen_genherm, "gsl_eigen_genherm( A : gsl_matrix_complex, B : gsl_matrix_complex, eval : gsl_vector, w : gsl_eigen_genherm_workspace )=>int" },
  { dao__gsl_eigen_genherm_standardize, "gsl_eigen_genherm_standardize( A : gsl_matrix_complex, B : gsl_matrix_complex )=>int" },
  { dao__gsl_eigen_genhermv_alloc, "gsl_eigen_genhermv_alloc( n : int )=>gsl_eigen_genhermv_workspace" },
  { dao__gsl_eigen_genhermv_free, "gsl_eigen_genhermv_free( w : gsl_eigen_genhermv_workspace )" },
  { dao__gsl_eigen_genhermv, "gsl_eigen_genhermv( A : gsl_matrix_complex, B : gsl_matrix_complex, eval : gsl_vector, evec : gsl_matrix_complex, w : gsl_eigen_genhermv_workspace )=>int" },
  { dao__gsl_eigen_gen_alloc, "gsl_eigen_gen_alloc( n : int )=>gsl_eigen_gen_workspace" },
  { dao__gsl_eigen_gen_free, "gsl_eigen_gen_free( w : gsl_eigen_gen_workspace )" },
  { dao__gsl_eigen_gen_params, "gsl_eigen_gen_params( compute_s : int, compute_t : int, balance : int, w : gsl_eigen_gen_workspace )" },
  { dao__gsl_eigen_gen, "gsl_eigen_gen( A : gsl_matrix, B : gsl_matrix, alpha : gsl_vector_complex, beta : gsl_vector, w : gsl_eigen_gen_workspace )=>int" },
  { dao__gsl_eigen_gen_QZ, "gsl_eigen_gen_QZ( A : gsl_matrix, B : gsl_matrix, alpha : gsl_vector_complex, beta : gsl_vector, Q : gsl_matrix, Z : gsl_matrix, w : gsl_eigen_gen_workspace )=>int" },
  { dao__gsl_eigen_genv_alloc, "gsl_eigen_genv_alloc( n : int )=>gsl_eigen_genv_workspace" },
  { dao__gsl_eigen_genv_free, "gsl_eigen_genv_free( w : gsl_eigen_genv_workspace )" },
  { dao__gsl_eigen_genv, "gsl_eigen_genv( A : gsl_matrix, B : gsl_matrix, alpha : gsl_vector_complex, beta : gsl_vector, evec : gsl_matrix_complex, w : gsl_eigen_genv_workspace )=>int" },
  { dao__gsl_eigen_genv_QZ, "gsl_eigen_genv_QZ( A : gsl_matrix, B : gsl_matrix, alpha : gsl_vector_complex, beta : gsl_vector, evec : gsl_matrix_complex, Q : gsl_matrix, Z : gsl_matrix, w : gsl_eigen_genv_workspace )=>int" },
  { dao__gsl_eigen_symmv_sort, "gsl_eigen_symmv_sort( eval : gsl_vector, evec : gsl_matrix, sort_type : int )=>int" },
  { dao__gsl_eigen_hermv_sort, "gsl_eigen_hermv_sort( eval : gsl_vector, evec : gsl_matrix_complex, sort_type : int )=>int" },
  { dao__gsl_eigen_nonsymmv_sort, "gsl_eigen_nonsymmv_sort( eval : gsl_vector_complex, evec : gsl_matrix_complex, sort_type : int )=>int" },
  { dao__gsl_eigen_gensymmv_sort, "gsl_eigen_gensymmv_sort( eval : gsl_vector, evec : gsl_matrix, sort_type : int )=>int" },
  { dao__gsl_eigen_genhermv_sort, "gsl_eigen_genhermv_sort( eval : gsl_vector, evec : gsl_matrix_complex, sort_type : int )=>int" },
  { dao__gsl_eigen_genv_sort, "gsl_eigen_genv_sort( alpha : gsl_vector_complex, beta : gsl_vector, evec : gsl_matrix_complex, sort_type : int )=>int" },
  { dao__gsl_schur_gen_eigvals, "gsl_schur_gen_eigvals( A : gsl_matrix, B : gsl_matrix, wr1 : double, wr2 : double, wi : double, scale1 : double, scale2 : double )=>int" },
  { dao__gsl_schur_solve_equation, "gsl_schur_solve_equation( ca : double, A : gsl_matrix, z : double, d1 : double, d2 : double, b : gsl_vector, x : gsl_vector, s : double, xnorm : double, smin : double )=>int" },
  { dao__gsl_schur_solve_equation_z, "gsl_schur_solve_equation_z( ca : double, A : gsl_matrix, z : gsl_complex, d1 : double, d2 : double, b : gsl_vector_complex, x : gsl_vector_complex, s : double, xnorm : double, smin : double )=>int" },
  { dao__gsl_eigen_jacobi, "gsl_eigen_jacobi( matrix : gsl_matrix, eval : gsl_vector, evec : gsl_matrix, max_rot : int, nrot : int )=>int" },
  { dao__gsl_eigen_invert_jacobi, "gsl_eigen_invert_jacobi( matrix : gsl_matrix, ainv : gsl_matrix, max_rot : int )=>int" },
  { dao__gsl_linalg_matmult, "gsl_linalg_matmult( A : gsl_matrix, B : gsl_matrix, C : gsl_matrix )=>int" },
  { dao__gsl_linalg_matmult_mod, "gsl_linalg_matmult_mod( A : gsl_matrix, modA : int, B : gsl_matrix, modB : int, C : gsl_matrix )=>int" },
  { dao__gsl_linalg_exponential_ss, "gsl_linalg_exponential_ss( A : gsl_matrix, eA : gsl_matrix, mode : int )=>int" },
  { dao__gsl_linalg_householder_transform, "gsl_linalg_householder_transform( v : gsl_vector )=>double" },
  { dao__gsl_linalg_complex_householder_transform, "gsl_linalg_complex_householder_transform( v : gsl_vector_complex )=>gsl_complex" },
  { dao__gsl_linalg_householder_hm, "gsl_linalg_householder_hm( tau : double, v : gsl_vector, A : gsl_matrix )=>int" },
  { dao__gsl_linalg_householder_mh, "gsl_linalg_householder_mh( tau : double, v : gsl_vector, A : gsl_matrix )=>int" },
  { dao__gsl_linalg_householder_hv, "gsl_linalg_householder_hv( tau : double, v : gsl_vector, w : gsl_vector )=>int" },
  { dao__gsl_linalg_householder_hm1, "gsl_linalg_householder_hm1( tau : double, A : gsl_matrix )=>int" },
  { dao__gsl_linalg_complex_householder_hm, "gsl_linalg_complex_householder_hm( tau : gsl_complex, v : gsl_vector_complex, A : gsl_matrix_complex )=>int" },
  { dao__gsl_linalg_complex_householder_mh, "gsl_linalg_complex_householder_mh( tau : gsl_complex, v : gsl_vector_complex, A : gsl_matrix_complex )=>int" },
  { dao__gsl_linalg_complex_householder_hv, "gsl_linalg_complex_householder_hv( tau : gsl_complex, v : gsl_vector_complex, w : gsl_vector_complex )=>int" },
  { dao__gsl_linalg_hessenberg_decomp, "gsl_linalg_hessenberg_decomp( A : gsl_matrix, tau : gsl_vector )=>int" },
  { dao__gsl_linalg_hessenberg_unpack, "gsl_linalg_hessenberg_unpack( H : gsl_matrix, tau : gsl_vector, U : gsl_matrix )=>int" },
  { dao__gsl_linalg_hessenberg_unpack_accum, "gsl_linalg_hessenberg_unpack_accum( H : gsl_matrix, tau : gsl_vector, U : gsl_matrix )=>int" },
  { dao__gsl_linalg_hessenberg_set_zero, "gsl_linalg_hessenberg_set_zero( H : gsl_matrix )=>int" },
  { dao__gsl_linalg_hessenberg_submatrix, "gsl_linalg_hessenberg_submatrix( M : gsl_matrix, A : gsl_matrix, top : int, tau : gsl_vector )=>int" },
  { dao__gsl_linalg_hessenberg, "gsl_linalg_hessenberg( A : gsl_matrix, tau : gsl_vector )=>int" },
  { dao__gsl_linalg_hesstri_decomp, "gsl_linalg_hesstri_decomp( A : gsl_matrix, B : gsl_matrix, U : gsl_matrix, V : gsl_matrix, work : gsl_vector )=>int" },
  { dao__gsl_linalg_SV_decomp, "gsl_linalg_SV_decomp( A : gsl_matrix, V : gsl_matrix, S : gsl_vector, work : gsl_vector )=>int" },
  { dao__gsl_linalg_SV_decomp_mod, "gsl_linalg_SV_decomp_mod( A : gsl_matrix, X : gsl_matrix, V : gsl_matrix, S : gsl_vector, work : gsl_vector )=>int" },
  { dao__gsl_linalg_SV_decomp_jacobi, "gsl_linalg_SV_decomp_jacobi( A : gsl_matrix, Q : gsl_matrix, S : gsl_vector )=>int" },
  { dao__gsl_linalg_SV_solve, "gsl_linalg_SV_solve( U : gsl_matrix, Q : gsl_matrix, S : gsl_vector, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_LU_decomp, "gsl_linalg_LU_decomp( A : gsl_matrix, p : gsl_permutation, signum : int )=>int" },
  { dao__gsl_linalg_LU_solve, "gsl_linalg_LU_solve( LU : gsl_matrix, p : gsl_permutation, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_LU_svx, "gsl_linalg_LU_svx( LU : gsl_matrix, p : gsl_permutation, x : gsl_vector )=>int" },
  { dao__gsl_linalg_LU_refine, "gsl_linalg_LU_refine( A : gsl_matrix, LU : gsl_matrix, p : gsl_permutation, b : gsl_vector, x : gsl_vector, residual : gsl_vector )=>int" },
  { dao__gsl_linalg_LU_invert, "gsl_linalg_LU_invert( LU : gsl_matrix, p : gsl_permutation, inverse : gsl_matrix )=>int" },
  { dao__gsl_linalg_LU_det, "gsl_linalg_LU_det( LU : gsl_matrix, signum : int )=>double" },
  { dao__gsl_linalg_LU_lndet, "gsl_linalg_LU_lndet( LU : gsl_matrix )=>double" },
  { dao__gsl_linalg_LU_sgndet, "gsl_linalg_LU_sgndet( lu : gsl_matrix, signum : int )=>int" },
  { dao__gsl_linalg_complex_LU_decomp, "gsl_linalg_complex_LU_decomp( A : gsl_matrix_complex, p : gsl_permutation, signum : int )=>int" },
  { dao__gsl_linalg_complex_LU_solve, "gsl_linalg_complex_LU_solve( LU : gsl_matrix_complex, p : gsl_permutation, b : gsl_vector_complex, x : gsl_vector_complex )=>int" },
  { dao__gsl_linalg_complex_LU_svx, "gsl_linalg_complex_LU_svx( LU : gsl_matrix_complex, p : gsl_permutation, x : gsl_vector_complex )=>int" },
  { dao__gsl_linalg_complex_LU_refine, "gsl_linalg_complex_LU_refine( A : gsl_matrix_complex, LU : gsl_matrix_complex, p : gsl_permutation, b : gsl_vector_complex, x : gsl_vector_complex, residual : gsl_vector_complex )=>int" },
  { dao__gsl_linalg_complex_LU_invert, "gsl_linalg_complex_LU_invert( LU : gsl_matrix_complex, p : gsl_permutation, inverse : gsl_matrix_complex )=>int" },
  { dao__gsl_linalg_complex_LU_det, "gsl_linalg_complex_LU_det( LU : gsl_matrix_complex, signum : int )=>gsl_complex" },
  { dao__gsl_linalg_complex_LU_lndet, "gsl_linalg_complex_LU_lndet( LU : gsl_matrix_complex )=>double" },
  { dao__gsl_linalg_complex_LU_sgndet, "gsl_linalg_complex_LU_sgndet( LU : gsl_matrix_complex, signum : int )=>gsl_complex" },
  { dao__gsl_linalg_QR_decomp, "gsl_linalg_QR_decomp( A : gsl_matrix, tau : gsl_vector )=>int" },
  { dao__gsl_linalg_QR_solve, "gsl_linalg_QR_solve( QR : gsl_matrix, tau : gsl_vector, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_QR_svx, "gsl_linalg_QR_svx( QR : gsl_matrix, tau : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_QR_lssolve, "gsl_linalg_QR_lssolve( QR : gsl_matrix, tau : gsl_vector, b : gsl_vector, x : gsl_vector, residual : gsl_vector )=>int" },
  { dao__gsl_linalg_QR_QRsolve, "gsl_linalg_QR_QRsolve( Q : gsl_matrix, R : gsl_matrix, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_QR_Rsolve, "gsl_linalg_QR_Rsolve( QR : gsl_matrix, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_QR_Rsvx, "gsl_linalg_QR_Rsvx( QR : gsl_matrix, x : gsl_vector )=>int" },
  { dao__gsl_linalg_QR_update, "gsl_linalg_QR_update( Q : gsl_matrix, R : gsl_matrix, w : gsl_vector, v : gsl_vector )=>int" },
  { dao__gsl_linalg_QR_QTvec, "gsl_linalg_QR_QTvec( QR : gsl_matrix, tau : gsl_vector, v : gsl_vector )=>int" },
  { dao__gsl_linalg_QR_Qvec, "gsl_linalg_QR_Qvec( QR : gsl_matrix, tau : gsl_vector, v : gsl_vector )=>int" },
  { dao__gsl_linalg_QR_QTmat, "gsl_linalg_QR_QTmat( QR : gsl_matrix, tau : gsl_vector, A : gsl_matrix )=>int" },
  { dao__gsl_linalg_QR_unpack, "gsl_linalg_QR_unpack( QR : gsl_matrix, tau : gsl_vector, Q : gsl_matrix, R : gsl_matrix )=>int" },
  { dao__gsl_linalg_R_solve, "gsl_linalg_R_solve( R : gsl_matrix, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_R_svx, "gsl_linalg_R_svx( R : gsl_matrix, x : gsl_vector )=>int" },
  { dao__gsl_linalg_QRPT_decomp, "gsl_linalg_QRPT_decomp( A : gsl_matrix, tau : gsl_vector, p : gsl_permutation, signum : int, norm : gsl_vector )=>int" },
  { dao__gsl_linalg_QRPT_decomp2, "gsl_linalg_QRPT_decomp2( A : gsl_matrix, q : gsl_matrix, r : gsl_matrix, tau : gsl_vector, p : gsl_permutation, signum : int, norm : gsl_vector )=>int" },
  { dao__gsl_linalg_QRPT_solve, "gsl_linalg_QRPT_solve( QR : gsl_matrix, tau : gsl_vector, p : gsl_permutation, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_QRPT_svx, "gsl_linalg_QRPT_svx( QR : gsl_matrix, tau : gsl_vector, p : gsl_permutation, x : gsl_vector )=>int" },
  { dao__gsl_linalg_QRPT_QRsolve, "gsl_linalg_QRPT_QRsolve( Q : gsl_matrix, R : gsl_matrix, p : gsl_permutation, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_QRPT_Rsolve, "gsl_linalg_QRPT_Rsolve( QR : gsl_matrix, p : gsl_permutation, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_QRPT_Rsvx, "gsl_linalg_QRPT_Rsvx( QR : gsl_matrix, p : gsl_permutation, x : gsl_vector )=>int" },
  { dao__gsl_linalg_QRPT_update, "gsl_linalg_QRPT_update( Q : gsl_matrix, R : gsl_matrix, p : gsl_permutation, u : gsl_vector, v : gsl_vector )=>int" },
  { dao__gsl_linalg_LQ_decomp, "gsl_linalg_LQ_decomp( A : gsl_matrix, tau : gsl_vector )=>int" },
  { dao__gsl_linalg_LQ_solve_T, "gsl_linalg_LQ_solve_T( LQ : gsl_matrix, tau : gsl_vector, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_LQ_svx_T, "gsl_linalg_LQ_svx_T( LQ : gsl_matrix, tau : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_LQ_lssolve_T, "gsl_linalg_LQ_lssolve_T( LQ : gsl_matrix, tau : gsl_vector, b : gsl_vector, x : gsl_vector, residual : gsl_vector )=>int" },
  { dao__gsl_linalg_LQ_Lsolve_T, "gsl_linalg_LQ_Lsolve_T( LQ : gsl_matrix, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_LQ_Lsvx_T, "gsl_linalg_LQ_Lsvx_T( LQ : gsl_matrix, x : gsl_vector )=>int" },
  { dao__gsl_linalg_L_solve_T, "gsl_linalg_L_solve_T( L : gsl_matrix, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_LQ_vecQ, "gsl_linalg_LQ_vecQ( LQ : gsl_matrix, tau : gsl_vector, v : gsl_vector )=>int" },
  { dao__gsl_linalg_LQ_vecQT, "gsl_linalg_LQ_vecQT( LQ : gsl_matrix, tau : gsl_vector, v : gsl_vector )=>int" },
  { dao__gsl_linalg_LQ_unpack, "gsl_linalg_LQ_unpack( LQ : gsl_matrix, tau : gsl_vector, Q : gsl_matrix, L : gsl_matrix )=>int" },
  { dao__gsl_linalg_LQ_update, "gsl_linalg_LQ_update( Q : gsl_matrix, R : gsl_matrix, v : gsl_vector, w : gsl_vector )=>int" },
  { dao__gsl_linalg_LQ_LQsolve, "gsl_linalg_LQ_LQsolve( Q : gsl_matrix, L : gsl_matrix, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_PTLQ_decomp, "gsl_linalg_PTLQ_decomp( A : gsl_matrix, tau : gsl_vector, p : gsl_permutation, signum : int, norm : gsl_vector )=>int" },
  { dao__gsl_linalg_PTLQ_decomp2, "gsl_linalg_PTLQ_decomp2( A : gsl_matrix, q : gsl_matrix, r : gsl_matrix, tau : gsl_vector, p : gsl_permutation, signum : int, norm : gsl_vector )=>int" },
  { dao__gsl_linalg_PTLQ_solve_T, "gsl_linalg_PTLQ_solve_T( QR : gsl_matrix, tau : gsl_vector, p : gsl_permutation, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_PTLQ_svx_T, "gsl_linalg_PTLQ_svx_T( LQ : gsl_matrix, tau : gsl_vector, p : gsl_permutation, x : gsl_vector )=>int" },
  { dao__gsl_linalg_PTLQ_LQsolve_T, "gsl_linalg_PTLQ_LQsolve_T( Q : gsl_matrix, L : gsl_matrix, p : gsl_permutation, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_PTLQ_Lsolve_T, "gsl_linalg_PTLQ_Lsolve_T( LQ : gsl_matrix, p : gsl_permutation, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_PTLQ_Lsvx_T, "gsl_linalg_PTLQ_Lsvx_T( LQ : gsl_matrix, p : gsl_permutation, x : gsl_vector )=>int" },
  { dao__gsl_linalg_PTLQ_update, "gsl_linalg_PTLQ_update( Q : gsl_matrix, L : gsl_matrix, p : gsl_permutation, v : gsl_vector, w : gsl_vector )=>int" },
  { dao__gsl_linalg_cholesky_decomp, "gsl_linalg_cholesky_decomp( A : gsl_matrix )=>int" },
  { dao__gsl_linalg_cholesky_solve, "gsl_linalg_cholesky_solve( cholesky : gsl_matrix, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_cholesky_svx, "gsl_linalg_cholesky_svx( cholesky : gsl_matrix, x : gsl_vector )=>int" },
  { dao__gsl_linalg_cholesky_invert, "gsl_linalg_cholesky_invert( cholesky : gsl_matrix )=>int" },
  { dao__gsl_linalg_cholesky_decomp_unit, "gsl_linalg_cholesky_decomp_unit( A : gsl_matrix, D : gsl_vector )=>int" },
  { dao__gsl_linalg_complex_cholesky_decomp, "gsl_linalg_complex_cholesky_decomp( A : gsl_matrix_complex )=>int" },
  { dao__gsl_linalg_complex_cholesky_solve, "gsl_linalg_complex_cholesky_solve( cholesky : gsl_matrix_complex, b : gsl_vector_complex, x : gsl_vector_complex )=>int" },
  { dao__gsl_linalg_complex_cholesky_svx, "gsl_linalg_complex_cholesky_svx( cholesky : gsl_matrix_complex, x : gsl_vector_complex )=>int" },
  { dao__gsl_linalg_symmtd_decomp, "gsl_linalg_symmtd_decomp( A : gsl_matrix, tau : gsl_vector )=>int" },
  { dao__gsl_linalg_symmtd_unpack, "gsl_linalg_symmtd_unpack( A : gsl_matrix, tau : gsl_vector, Q : gsl_matrix, diag : gsl_vector, subdiag : gsl_vector )=>int" },
  { dao__gsl_linalg_symmtd_unpack_T, "gsl_linalg_symmtd_unpack_T( A : gsl_matrix, diag : gsl_vector, subdiag : gsl_vector )=>int" },
  { dao__gsl_linalg_hermtd_decomp, "gsl_linalg_hermtd_decomp( A : gsl_matrix_complex, tau : gsl_vector_complex )=>int" },
  { dao__gsl_linalg_hermtd_unpack, "gsl_linalg_hermtd_unpack( A : gsl_matrix_complex, tau : gsl_vector_complex, Q : gsl_matrix_complex, diag : gsl_vector, sudiag : gsl_vector )=>int" },
  { dao__gsl_linalg_hermtd_unpack_T, "gsl_linalg_hermtd_unpack_T( A : gsl_matrix_complex, diag : gsl_vector, subdiag : gsl_vector )=>int" },
  { dao__gsl_linalg_HH_solve, "gsl_linalg_HH_solve( A : gsl_matrix, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_HH_svx, "gsl_linalg_HH_svx( A : gsl_matrix, x : gsl_vector )=>int" },
  { dao__gsl_linalg_solve_symm_tridiag, "gsl_linalg_solve_symm_tridiag( diag : gsl_vector, offdiag : gsl_vector, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_solve_tridiag, "gsl_linalg_solve_tridiag( diag : gsl_vector, abovediag : gsl_vector, belowdiag : gsl_vector, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_solve_symm_cyc_tridiag, "gsl_linalg_solve_symm_cyc_tridiag( diag : gsl_vector, offdiag : gsl_vector, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_solve_cyc_tridiag, "gsl_linalg_solve_cyc_tridiag( diag : gsl_vector, abovediag : gsl_vector, belowdiag : gsl_vector, b : gsl_vector, x : gsl_vector )=>int" },
  { dao__gsl_linalg_bidiag_decomp, "gsl_linalg_bidiag_decomp( A : gsl_matrix, tau_U : gsl_vector, tau_V : gsl_vector )=>int" },
  { dao__gsl_linalg_bidiag_unpack, "gsl_linalg_bidiag_unpack( A : gsl_matrix, tau_U : gsl_vector, U : gsl_matrix, tau_V : gsl_vector, V : gsl_matrix, diag : gsl_vector, superdiag : gsl_vector )=>int" },
  { dao__gsl_linalg_bidiag_unpack2, "gsl_linalg_bidiag_unpack2( A : gsl_matrix, tau_U : gsl_vector, tau_V : gsl_vector, V : gsl_matrix )=>int" },
  { dao__gsl_linalg_bidiag_unpack_B, "gsl_linalg_bidiag_unpack_B( A : gsl_matrix, diag : gsl_vector, superdiag : gsl_vector )=>int" },
  { dao__gsl_linalg_balance_matrix, "gsl_linalg_balance_matrix( A : gsl_matrix, D : gsl_vector )=>int" },
  { dao__gsl_linalg_balance_accum, "gsl_linalg_balance_accum( A : gsl_matrix, D : gsl_vector )=>int" },
  { dao__gsl_linalg_balance_columns, "gsl_linalg_balance_columns( A : gsl_matrix, D : gsl_vector )=>int" },
  { dao__gsl_min_fminimizer_alloc, "gsl_min_fminimizer_alloc( T : gsl_min_fminimizer_type )=>gsl_min_fminimizer" },
  { dao__gsl_min_fminimizer_free, "gsl_min_fminimizer_free( s : gsl_min_fminimizer )" },
  { dao__gsl_min_fminimizer_set, "gsl_min_fminimizer_set( s : gsl_min_fminimizer, f : gsl_function, x_minimum : double, x_lower : double, x_upper : double )=>int" },
  { dao__gsl_min_fminimizer_set_with_values, "gsl_min_fminimizer_set_with_values( s : gsl_min_fminimizer, f : gsl_function, x_minimum : double, f_minimum : double, x_lower : double, f_lower : double, x_upper : double, f_upper : double )=>int" },
  { dao__gsl_min_fminimizer_iterate, "gsl_min_fminimizer_iterate( s : gsl_min_fminimizer )=>int" },
  { dao__gsl_min_fminimizer_name, "gsl_min_fminimizer_name( s : gsl_min_fminimizer )=>string" },
  { dao__gsl_min_fminimizer_x_minimum, "gsl_min_fminimizer_x_minimum( s : gsl_min_fminimizer )=>double" },
  { dao__gsl_min_fminimizer_x_lower, "gsl_min_fminimizer_x_lower( s : gsl_min_fminimizer )=>double" },
  { dao__gsl_min_fminimizer_x_upper, "gsl_min_fminimizer_x_upper( s : gsl_min_fminimizer )=>double" },
  { dao__gsl_min_fminimizer_f_minimum, "gsl_min_fminimizer_f_minimum( s : gsl_min_fminimizer )=>double" },
  { dao__gsl_min_fminimizer_f_lower, "gsl_min_fminimizer_f_lower( s : gsl_min_fminimizer )=>double" },
  { dao__gsl_min_fminimizer_f_upper, "gsl_min_fminimizer_f_upper( s : gsl_min_fminimizer )=>double" },
  { dao__gsl_min_fminimizer_minimum, "gsl_min_fminimizer_minimum( s : gsl_min_fminimizer )=>double" },
  { dao__gsl_min_test_interval, "gsl_min_test_interval( x_lower : double, x_upper : double, epsabs : double, epsrel : double )=>int" },
  { dao__gsl_min_find_bracket, "gsl_min_find_bracket( f : gsl_function, x_minimum : double, f_minimum : double, x_lower : double, f_lower : double, x_upper : double, f_upper : array<double>, eval_max : int )=>int" },
  { dao__gsl_monte_plain_integrate, "gsl_monte_plain_integrate( f : gsl_monte_function, xl : array<double>, xu : array<double>, dim : int, calls : int, r : gsl_rng, state : gsl_monte_plain_state, result : double, abserr : double )=>int" },
  { dao__gsl_monte_plain_alloc, "gsl_monte_plain_alloc( dim : int )=>gsl_monte_plain_state" },
  { dao__gsl_monte_plain_init, "gsl_monte_plain_init( state : gsl_monte_plain_state )=>int" },
  { dao__gsl_monte_plain_free, "gsl_monte_plain_free( state : gsl_monte_plain_state )" },
  { dao__gsl_monte_vegas_integrate, "gsl_monte_vegas_integrate( f : gsl_monte_function, xl : array<double>, xu : array<double>, dim : int, calls : int, r : gsl_rng, state : gsl_monte_vegas_state, result : double, abserr : double )=>int" },
  { dao__gsl_monte_vegas_alloc, "gsl_monte_vegas_alloc( dim : int )=>gsl_monte_vegas_state" },
  { dao__gsl_monte_vegas_init, "gsl_monte_vegas_init( state : gsl_monte_vegas_state )=>int" },
  { dao__gsl_monte_vegas_free, "gsl_monte_vegas_free( state : gsl_monte_vegas_state )" },
  { dao__gsl_multifit_linear_alloc, "gsl_multifit_linear_alloc( n : int, p : int )=>gsl_multifit_linear_workspace" },
  { dao__gsl_multifit_linear_free, "gsl_multifit_linear_free( work : gsl_multifit_linear_workspace )" },
  { dao__gsl_multifit_linear, "gsl_multifit_linear( X : gsl_matrix, y : gsl_vector, c : gsl_vector, cov : gsl_matrix, chisq : double, work : gsl_multifit_linear_workspace )=>int" },
  { dao__gsl_multifit_linear_svd, "gsl_multifit_linear_svd( X : gsl_matrix, y : gsl_vector, tol : double, rank : int, c : gsl_vector, cov : gsl_matrix, chisq : double, work : gsl_multifit_linear_workspace )=>int" },
  { dao__gsl_multifit_wlinear, "gsl_multifit_wlinear( X : gsl_matrix, w : gsl_vector, y : gsl_vector, c : gsl_vector, cov : gsl_matrix, chisq : double, work : gsl_multifit_linear_workspace )=>int" },
  { dao__gsl_multifit_wlinear_svd, "gsl_multifit_wlinear_svd( X : gsl_matrix, w : gsl_vector, y : gsl_vector, tol : double, rank : int, c : gsl_vector, cov : gsl_matrix, chisq : double, work : gsl_multifit_linear_workspace )=>int" },
  { dao__gsl_multifit_linear_est, "gsl_multifit_linear_est( x : gsl_vector, c : gsl_vector, cov : gsl_matrix, y : double, y_err : double )=>int" },
  { dao__gsl_multifit_linear_residuals, "gsl_multifit_linear_residuals( X : gsl_matrix, y : gsl_vector, c : gsl_vector, r : gsl_vector )=>int" },
  { dao__gsl_multifit_gradient, "gsl_multifit_gradient( J : gsl_matrix, f : gsl_vector, g : gsl_vector )=>int" },
  { dao__gsl_multifit_covar, "gsl_multifit_covar( J : gsl_matrix, epsrel : double, covar : gsl_matrix )=>int" },
  { dao__gsl_multifit_fsolver_alloc, "gsl_multifit_fsolver_alloc( T : gsl_multifit_fsolver_type, n : int, p : int )=>gsl_multifit_fsolver" },
  { dao__gsl_multifit_fsolver_free, "gsl_multifit_fsolver_free( s : gsl_multifit_fsolver )" },
  { dao__gsl_multifit_fsolver_set, "gsl_multifit_fsolver_set( s : gsl_multifit_fsolver, f : gsl_multifit_function, x : gsl_vector )=>int" },
  { dao__gsl_multifit_fsolver_iterate, "gsl_multifit_fsolver_iterate( s : gsl_multifit_fsolver )=>int" },
  { dao__gsl_multifit_fsolver_name, "gsl_multifit_fsolver_name( s : gsl_multifit_fsolver )=>string" },
  { dao__gsl_multifit_fsolver_position, "gsl_multifit_fsolver_position( s : gsl_multifit_fsolver )=>gsl_vector" },
  { dao__gsl_multifit_fdfsolver_alloc, "gsl_multifit_fdfsolver_alloc( T : gsl_multifit_fdfsolver_type, n : int, p : int )=>gsl_multifit_fdfsolver" },
  { dao__gsl_multifit_fdfsolver_set, "gsl_multifit_fdfsolver_set( s : gsl_multifit_fdfsolver, fdf : gsl_multifit_function_fdf, x : gsl_vector )=>int" },
  { dao__gsl_multifit_fdfsolver_iterate, "gsl_multifit_fdfsolver_iterate( s : gsl_multifit_fdfsolver )=>int" },
  { dao__gsl_multifit_fdfsolver_free, "gsl_multifit_fdfsolver_free( s : gsl_multifit_fdfsolver )" },
  { dao__gsl_multifit_fdfsolver_name, "gsl_multifit_fdfsolver_name( s : gsl_multifit_fdfsolver )=>string" },
  { dao__gsl_multifit_fdfsolver_position, "gsl_multifit_fdfsolver_position( s : gsl_multifit_fdfsolver )=>gsl_vector" },
  { dao__gsl_multifit_test_delta, "gsl_multifit_test_delta( dx : gsl_vector, x : gsl_vector, epsabs : double, epsrel : double )=>int" },
  { dao__gsl_multifit_test_gradient, "gsl_multifit_test_gradient( g : gsl_vector, epsabs : double )=>int" },
  { dao__gsl_multimin_diff, "gsl_multimin_diff( f : gsl_multimin_function, x : gsl_vector, g : gsl_vector )=>int" },
  { dao__gsl_multimin_fminimizer_alloc, "gsl_multimin_fminimizer_alloc( T : gsl_multimin_fminimizer_type, n : int )=>gsl_multimin_fminimizer" },
  { dao__gsl_multimin_fminimizer_set, "gsl_multimin_fminimizer_set( s : gsl_multimin_fminimizer, f : gsl_multimin_function, x : gsl_vector, step_size : gsl_vector )=>int" },
  { dao__gsl_multimin_fminimizer_free, "gsl_multimin_fminimizer_free( s : gsl_multimin_fminimizer )" },
  { dao__gsl_multimin_fminimizer_name, "gsl_multimin_fminimizer_name( s : gsl_multimin_fminimizer )=>string" },
  { dao__gsl_multimin_fminimizer_iterate, "gsl_multimin_fminimizer_iterate( s : gsl_multimin_fminimizer )=>int" },
  { dao__gsl_multimin_fminimizer_x, "gsl_multimin_fminimizer_x( s : gsl_multimin_fminimizer )=>gsl_vector" },
  { dao__gsl_multimin_fminimizer_minimum, "gsl_multimin_fminimizer_minimum( s : gsl_multimin_fminimizer )=>double" },
  { dao__gsl_multimin_fminimizer_size, "gsl_multimin_fminimizer_size( s : gsl_multimin_fminimizer )=>double" },
  { dao__gsl_multimin_test_gradient, "gsl_multimin_test_gradient( g : gsl_vector, epsabs : double )=>int" },
  { dao__gsl_multimin_test_size, "gsl_multimin_test_size( size : double, epsabs : double )=>int" },
  { dao__gsl_multimin_fdfminimizer_alloc, "gsl_multimin_fdfminimizer_alloc( T : gsl_multimin_fdfminimizer_type, n : int )=>gsl_multimin_fdfminimizer" },
  { dao__gsl_multimin_fdfminimizer_set, "gsl_multimin_fdfminimizer_set( s : gsl_multimin_fdfminimizer, fdf : gsl_multimin_function_fdf, x : gsl_vector, step_size : double, tol : double )=>int" },
  { dao__gsl_multimin_fdfminimizer_free, "gsl_multimin_fdfminimizer_free( s : gsl_multimin_fdfminimizer )" },
  { dao__gsl_multimin_fdfminimizer_name, "gsl_multimin_fdfminimizer_name( s : gsl_multimin_fdfminimizer )=>string" },
  { dao__gsl_multimin_fdfminimizer_iterate, "gsl_multimin_fdfminimizer_iterate( s : gsl_multimin_fdfminimizer )=>int" },
  { dao__gsl_multimin_fdfminimizer_restart, "gsl_multimin_fdfminimizer_restart( s : gsl_multimin_fdfminimizer )=>int" },
  { dao__gsl_multimin_fdfminimizer_x, "gsl_multimin_fdfminimizer_x( s : gsl_multimin_fdfminimizer )=>gsl_vector" },
  { dao__gsl_multimin_fdfminimizer_dx, "gsl_multimin_fdfminimizer_dx( s : gsl_multimin_fdfminimizer )=>gsl_vector" },
  { dao__gsl_multimin_fdfminimizer_gradient, "gsl_multimin_fdfminimizer_gradient( s : gsl_multimin_fdfminimizer )=>gsl_vector" },
  { dao__gsl_multimin_fdfminimizer_minimum, "gsl_multimin_fdfminimizer_minimum( s : gsl_multimin_fdfminimizer )=>double" },
  { dao__gsl_multiroot_fdjacobian, "gsl_multiroot_fdjacobian( F : gsl_multiroot_function, x : gsl_vector, f : gsl_vector, epsrel : double, jacobian : gsl_matrix )=>int" },
  { dao__gsl_multiroot_fsolver_alloc, "gsl_multiroot_fsolver_alloc( T : gsl_multiroot_fsolver_type, n : int )=>gsl_multiroot_fsolver" },
  { dao__gsl_multiroot_fsolver_free, "gsl_multiroot_fsolver_free( s : gsl_multiroot_fsolver )" },
  { dao__gsl_multiroot_fsolver_set, "gsl_multiroot_fsolver_set( s : gsl_multiroot_fsolver, f : gsl_multiroot_function, x : gsl_vector )=>int" },
  { dao__gsl_multiroot_fsolver_iterate, "gsl_multiroot_fsolver_iterate( s : gsl_multiroot_fsolver )=>int" },
  { dao__gsl_multiroot_fsolver_name, "gsl_multiroot_fsolver_name( s : gsl_multiroot_fsolver )=>string" },
  { dao__gsl_multiroot_fsolver_root, "gsl_multiroot_fsolver_root( s : gsl_multiroot_fsolver )=>gsl_vector" },
  { dao__gsl_multiroot_fsolver_dx, "gsl_multiroot_fsolver_dx( s : gsl_multiroot_fsolver )=>gsl_vector" },
  { dao__gsl_multiroot_fsolver_f, "gsl_multiroot_fsolver_f( s : gsl_multiroot_fsolver )=>gsl_vector" },
  { dao__gsl_multiroot_fdfsolver_alloc, "gsl_multiroot_fdfsolver_alloc( T : gsl_multiroot_fdfsolver_type, n : int )=>gsl_multiroot_fdfsolver" },
  { dao__gsl_multiroot_fdfsolver_set, "gsl_multiroot_fdfsolver_set( s : gsl_multiroot_fdfsolver, fdf : gsl_multiroot_function_fdf, x : gsl_vector )=>int" },
  { dao__gsl_multiroot_fdfsolver_iterate, "gsl_multiroot_fdfsolver_iterate( s : gsl_multiroot_fdfsolver )=>int" },
  { dao__gsl_multiroot_fdfsolver_free, "gsl_multiroot_fdfsolver_free( s : gsl_multiroot_fdfsolver )" },
  { dao__gsl_multiroot_fdfsolver_name, "gsl_multiroot_fdfsolver_name( s : gsl_multiroot_fdfsolver )=>string" },
  { dao__gsl_multiroot_fdfsolver_root, "gsl_multiroot_fdfsolver_root( s : gsl_multiroot_fdfsolver )=>gsl_vector" },
  { dao__gsl_multiroot_fdfsolver_dx, "gsl_multiroot_fdfsolver_dx( s : gsl_multiroot_fdfsolver )=>gsl_vector" },
  { dao__gsl_multiroot_fdfsolver_f, "gsl_multiroot_fdfsolver_f( s : gsl_multiroot_fdfsolver )=>gsl_vector" },
  { dao__gsl_multiroot_test_delta, "gsl_multiroot_test_delta( dx : gsl_vector, x : gsl_vector, epsabs : double, epsrel : double )=>int" },
  { dao__gsl_multiroot_test_residual, "gsl_multiroot_test_residual( f : gsl_vector, epsabs : double )=>int" },
  { dao__gsl_ran_bernoulli, "gsl_ran_bernoulli( r : gsl_rng, p : double )=>int" },
  { dao__gsl_ran_bernoulli_pdf, "gsl_ran_bernoulli_pdf( k : int, p : double )=>double" },
  { dao__gsl_ran_beta, "gsl_ran_beta( r : gsl_rng, a : double, b : double )=>double" },
  { dao__gsl_ran_beta_pdf, "gsl_ran_beta_pdf( x : double, a : double, b : double )=>double" },
  { dao__gsl_ran_binomial, "gsl_ran_binomial( r : gsl_rng, p : double, n : int )=>int" },
  { dao__gsl_ran_binomial_knuth, "gsl_ran_binomial_knuth( r : gsl_rng, p : double, n : int )=>int" },
  { dao__gsl_ran_binomial_tpe, "gsl_ran_binomial_tpe( r : gsl_rng, p : double, n : int )=>int" },
  { dao__gsl_ran_binomial_pdf, "gsl_ran_binomial_pdf( k : int, p : double, n : int )=>double" },
  { dao__gsl_ran_exponential, "gsl_ran_exponential( r : gsl_rng, mu : double )=>double" },
  { dao__gsl_ran_exponential_pdf, "gsl_ran_exponential_pdf( x : double, mu : double )=>double" },
  { dao__gsl_ran_exppow, "gsl_ran_exppow( r : gsl_rng, a : double, b : double )=>double" },
  { dao__gsl_ran_exppow_pdf, "gsl_ran_exppow_pdf( x : double, a : double, b : double )=>double" },
  { dao__gsl_ran_cauchy, "gsl_ran_cauchy( r : gsl_rng, a : double )=>double" },
  { dao__gsl_ran_cauchy_pdf, "gsl_ran_cauchy_pdf( x : double, a : double )=>double" },
  { dao__gsl_ran_chisq, "gsl_ran_chisq( r : gsl_rng, nu : double )=>double" },
  { dao__gsl_ran_chisq_pdf, "gsl_ran_chisq_pdf( x : double, nu : double )=>double" },
  { dao__gsl_ran_dirichlet, "gsl_ran_dirichlet( r : gsl_rng, K : int, alpha : array<double>, theta : array<double> )" },
  { dao__gsl_ran_dirichlet_pdf, "gsl_ran_dirichlet_pdf( K : int, alpha : array<double>, theta : array<double> )=>double" },
  { dao__gsl_ran_dirichlet_lnpdf, "gsl_ran_dirichlet_lnpdf( K : int, alpha : array<double>, theta : array<double> )=>double" },
  { dao__gsl_ran_erlang, "gsl_ran_erlang( r : gsl_rng, a : double, n : double )=>double" },
  { dao__gsl_ran_erlang_pdf, "gsl_ran_erlang_pdf( x : double, a : double, n : double )=>double" },
  { dao__gsl_ran_fdist, "gsl_ran_fdist( r : gsl_rng, nu1 : double, nu2 : double )=>double" },
  { dao__gsl_ran_fdist_pdf, "gsl_ran_fdist_pdf( x : double, nu1 : double, nu2 : double )=>double" },
  { dao__gsl_ran_flat, "gsl_ran_flat( r : gsl_rng, a : double, b : double )=>double" },
  { dao__gsl_ran_flat_pdf, "gsl_ran_flat_pdf( x : double, a : double, b : double )=>double" },
  { dao__gsl_ran_gamma, "gsl_ran_gamma( r : gsl_rng, a : double, b : double )=>double" },
  { dao__gsl_ran_gamma_int, "gsl_ran_gamma_int( r : gsl_rng, a : int )=>double" },
  { dao__gsl_ran_gamma_pdf, "gsl_ran_gamma_pdf( x : double, a : double, b : double )=>double" },
  { dao__gsl_ran_gamma_mt, "gsl_ran_gamma_mt( r : gsl_rng, a : double, b : double )=>double" },
  { dao__gsl_ran_gamma_knuth, "gsl_ran_gamma_knuth( r : gsl_rng, a : double, b : double )=>double" },
  { dao__gsl_ran_gaussian, "gsl_ran_gaussian( r : gsl_rng, sigma : double )=>double" },
  { dao__gsl_ran_gaussian_ratio_method, "gsl_ran_gaussian_ratio_method( r : gsl_rng, sigma : double )=>double" },
  { dao__gsl_ran_gaussian_ziggurat, "gsl_ran_gaussian_ziggurat( r : gsl_rng, sigma : double )=>double" },
  { dao__gsl_ran_gaussian_pdf, "gsl_ran_gaussian_pdf( x : double, sigma : double )=>double" },
  { dao__gsl_ran_ugaussian, "gsl_ran_ugaussian( r : gsl_rng )=>double" },
  { dao__gsl_ran_ugaussian_ratio_method, "gsl_ran_ugaussian_ratio_method( r : gsl_rng )=>double" },
  { dao__gsl_ran_ugaussian_pdf, "gsl_ran_ugaussian_pdf( x : double )=>double" },
  { dao__gsl_ran_gaussian_tail, "gsl_ran_gaussian_tail( r : gsl_rng, a : double, sigma : double )=>double" },
  { dao__gsl_ran_gaussian_tail_pdf, "gsl_ran_gaussian_tail_pdf( x : double, a : double, sigma : double )=>double" },
  { dao__gsl_ran_ugaussian_tail, "gsl_ran_ugaussian_tail( r : gsl_rng, a : double )=>double" },
  { dao__gsl_ran_ugaussian_tail_pdf, "gsl_ran_ugaussian_tail_pdf( x : double, a : double )=>double" },
  { dao__gsl_ran_bivariate_gaussian, "gsl_ran_bivariate_gaussian( r : gsl_rng, sigma_x : double, sigma_y : double, rho : double, x : double, y : double )" },
  { dao__gsl_ran_bivariate_gaussian_pdf, "gsl_ran_bivariate_gaussian_pdf( x : double, y : double, sigma_x : double, sigma_y : double, rho : double )=>double" },
  { dao__gsl_ran_landau, "gsl_ran_landau( r : gsl_rng )=>double" },
  { dao__gsl_ran_landau_pdf, "gsl_ran_landau_pdf( x : double )=>double" },
  { dao__gsl_ran_geometric, "gsl_ran_geometric( r : gsl_rng, p : double )=>int" },
  { dao__gsl_ran_geometric_pdf, "gsl_ran_geometric_pdf( k : int, p : double )=>double" },
  { dao__gsl_ran_hypergeometric, "gsl_ran_hypergeometric( r : gsl_rng, n1 : int, n2 : int, t : int )=>int" },
  { dao__gsl_ran_hypergeometric_pdf, "gsl_ran_hypergeometric_pdf( k : int, n1 : int, n2 : int, t : int )=>double" },
  { dao__gsl_ran_gumbel1, "gsl_ran_gumbel1( r : gsl_rng, a : double, b : double )=>double" },
  { dao__gsl_ran_gumbel1_pdf, "gsl_ran_gumbel1_pdf( x : double, a : double, b : double )=>double" },
  { dao__gsl_ran_gumbel2, "gsl_ran_gumbel2( r : gsl_rng, a : double, b : double )=>double" },
  { dao__gsl_ran_gumbel2_pdf, "gsl_ran_gumbel2_pdf( x : double, a : double, b : double )=>double" },
  { dao__gsl_ran_logistic, "gsl_ran_logistic( r : gsl_rng, a : double )=>double" },
  { dao__gsl_ran_logistic_pdf, "gsl_ran_logistic_pdf( x : double, a : double )=>double" },
  { dao__gsl_ran_lognormal, "gsl_ran_lognormal( r : gsl_rng, zeta : double, sigma : double )=>double" },
  { dao__gsl_ran_lognormal_pdf, "gsl_ran_lognormal_pdf( x : double, zeta : double, sigma : double )=>double" },
  { dao__gsl_ran_logarithmic, "gsl_ran_logarithmic( r : gsl_rng, p : double )=>int" },
  { dao__gsl_ran_logarithmic_pdf, "gsl_ran_logarithmic_pdf( k : int, p : double )=>double" },
  { dao__gsl_ran_multinomial, "gsl_ran_multinomial( r : gsl_rng, K : int, N : int, p : array<double>, n : array<int> )" },
  { dao__gsl_ran_multinomial_pdf, "gsl_ran_multinomial_pdf( K : int, p : array<double>, n : array<int> )=>double" },
  { dao__gsl_ran_multinomial_lnpdf, "gsl_ran_multinomial_lnpdf( K : int, p : array<double>, n : array<int> )=>double" },
  { dao__gsl_ran_negative_binomial, "gsl_ran_negative_binomial( r : gsl_rng, p : double, n : double )=>int" },
  { dao__gsl_ran_negative_binomial_pdf, "gsl_ran_negative_binomial_pdf( k : int, p : double, n : double )=>double" },
  { dao__gsl_ran_pascal, "gsl_ran_pascal( r : gsl_rng, p : double, n : int )=>int" },
  { dao__gsl_ran_pascal_pdf, "gsl_ran_pascal_pdf( k : int, p : double, n : int )=>double" },
  { dao__gsl_ran_pareto, "gsl_ran_pareto( r : gsl_rng, a : double, b : double )=>double" },
  { dao__gsl_ran_pareto_pdf, "gsl_ran_pareto_pdf( x : double, a : double, b : double )=>double" },
  { dao__gsl_ran_poisson, "gsl_ran_poisson( r : gsl_rng, mu : double )=>int" },
  { dao__gsl_ran_poisson_array, "gsl_ran_poisson_array( r : gsl_rng, n : int, array : array<int>, mu : double )" },
  { dao__gsl_ran_poisson_pdf, "gsl_ran_poisson_pdf( k : int, mu : double )=>double" },
  { dao__gsl_ran_rayleigh, "gsl_ran_rayleigh( r : gsl_rng, sigma : double )=>double" },
  { dao__gsl_ran_rayleigh_pdf, "gsl_ran_rayleigh_pdf( x : double, sigma : double )=>double" },
  { dao__gsl_ran_rayleigh_tail, "gsl_ran_rayleigh_tail( r : gsl_rng, a : double, sigma : double )=>double" },
  { dao__gsl_ran_rayleigh_tail_pdf, "gsl_ran_rayleigh_tail_pdf( x : double, a : double, sigma : double )=>double" },
  { dao__gsl_ran_tdist, "gsl_ran_tdist( r : gsl_rng, nu : double )=>double" },
  { dao__gsl_ran_tdist_pdf, "gsl_ran_tdist_pdf( x : double, nu : double )=>double" },
  { dao__gsl_ran_laplace, "gsl_ran_laplace( r : gsl_rng, a : double )=>double" },
  { dao__gsl_ran_laplace_pdf, "gsl_ran_laplace_pdf( x : double, a : double )=>double" },
  { dao__gsl_ran_levy, "gsl_ran_levy( r : gsl_rng, c : double, alpha : double )=>double" },
  { dao__gsl_ran_levy_skew, "gsl_ran_levy_skew( r : gsl_rng, c : double, alpha : double, beta : double )=>double" },
  { dao__gsl_ran_weibull, "gsl_ran_weibull( r : gsl_rng, a : double, b : double )=>double" },
  { dao__gsl_ran_weibull_pdf, "gsl_ran_weibull_pdf( x : double, a : double, b : double )=>double" },
  { dao__gsl_ran_dir_2d, "gsl_ran_dir_2d( r : gsl_rng, x : double, y : double )" },
  { dao__gsl_ran_dir_2d_trig_method, "gsl_ran_dir_2d_trig_method( r : gsl_rng, x : double, y : double )" },
  { dao__gsl_ran_dir_3d, "gsl_ran_dir_3d( r : gsl_rng, x : double, y : double, z : double )" },
  { dao__gsl_ran_dir_nd, "gsl_ran_dir_nd( r : gsl_rng, n : int, x : double )" },
  { dao__gsl_ran_shuffle, "gsl_ran_shuffle( r : gsl_rng, base : cdata, nmembm : int, size : int )" },
  { dao__gsl_ran_choose, "gsl_ran_choose( r : gsl_rng, dest : cdata, k : int, src : cdata, n : int, size : int )=>int" },
  { dao__gsl_ran_sample, "gsl_ran_sample( r : gsl_rng, dest : cdata, k : int, src : cdata, n : int, size : int )" },
  { dao__gsl_ran_discrete_preproc, "gsl_ran_discrete_preproc( K : int, P : array<double> )=>gsl_ran_discrete_t" },
  { dao__gsl_ran_discrete_free, "gsl_ran_discrete_free( g : gsl_ran_discrete_t )" },
  { dao__gsl_ran_discrete, "gsl_ran_discrete( r : gsl_rng, g : gsl_ran_discrete_t )=>int" },
  { dao__gsl_ran_discrete_pdf, "gsl_ran_discrete_pdf( k : int, g : gsl_ran_discrete_t )=>double" },
  { dao__gsl_root_fsolver_alloc, "gsl_root_fsolver_alloc( T : gsl_root_fsolver_type )=>gsl_root_fsolver" },
  { dao__gsl_root_fsolver_free, "gsl_root_fsolver_free( s : gsl_root_fsolver )" },
  { dao__gsl_root_fsolver_set, "gsl_root_fsolver_set( s : gsl_root_fsolver, f : gsl_function, x_lower : double, x_upper : double )=>int" },
  { dao__gsl_root_fsolver_iterate, "gsl_root_fsolver_iterate( s : gsl_root_fsolver )=>int" },
  { dao__gsl_root_fsolver_name, "gsl_root_fsolver_name( s : gsl_root_fsolver )=>string" },
  { dao__gsl_root_fsolver_root, "gsl_root_fsolver_root( s : gsl_root_fsolver )=>double" },
  { dao__gsl_root_fsolver_x_lower, "gsl_root_fsolver_x_lower( s : gsl_root_fsolver )=>double" },
  { dao__gsl_root_fsolver_x_upper, "gsl_root_fsolver_x_upper( s : gsl_root_fsolver )=>double" },
  { dao__gsl_root_fdfsolver_alloc, "gsl_root_fdfsolver_alloc( T : gsl_root_fdfsolver_type )=>gsl_root_fdfsolver" },
  { dao__gsl_root_fdfsolver_set, "gsl_root_fdfsolver_set( s : gsl_root_fdfsolver, fdf : gsl_function_fdf, root : double )=>int" },
  { dao__gsl_root_fdfsolver_iterate, "gsl_root_fdfsolver_iterate( s : gsl_root_fdfsolver )=>int" },
  { dao__gsl_root_fdfsolver_free, "gsl_root_fdfsolver_free( s : gsl_root_fdfsolver )" },
  { dao__gsl_root_fdfsolver_name, "gsl_root_fdfsolver_name( s : gsl_root_fdfsolver )=>string" },
  { dao__gsl_root_fdfsolver_root, "gsl_root_fdfsolver_root( s : gsl_root_fdfsolver )=>double" },
  { dao__gsl_root_test_interval, "gsl_root_test_interval( x_lower : double, x_upper : double, epsabs : double, epsrel : double )=>int" },
  { dao__gsl_root_test_residual, "gsl_root_test_residual( f : double, epsabs : double )=>int" },
  { dao__gsl_root_test_delta, "gsl_root_test_delta( x1 : double, x0 : double, epsabs : double, epsrel : double )=>int" },
  { dao__gsl_wavelet2d_transform, "gsl_wavelet2d_transform( w : gsl_wavelet, data : array<double>, tda : int, size1 : int, size2 : int, dir : int, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet2d_transform_forward, "gsl_wavelet2d_transform_forward( w : gsl_wavelet, data : array<double>, tda : int, size1 : int, size2 : int, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet2d_transform_inverse, "gsl_wavelet2d_transform_inverse( w : gsl_wavelet, data : array<double>, tda : int, size1 : int, size2 : int, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet2d_nstransform, "gsl_wavelet2d_nstransform( w : gsl_wavelet, data : array<double>, tda : int, size1 : int, size2 : int, dir : int, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet2d_nstransform_forward, "gsl_wavelet2d_nstransform_forward( w : gsl_wavelet, data : array<double>, tda : int, size1 : int, size2 : int, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet2d_nstransform_inverse, "gsl_wavelet2d_nstransform_inverse( w : gsl_wavelet, data : array<double>, tda : int, size1 : int, size2 : int, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet2d_transform_matrix, "gsl_wavelet2d_transform_matrix( w : gsl_wavelet, a : gsl_matrix, dir : int, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet2d_transform_matrix_forward, "gsl_wavelet2d_transform_matrix_forward( w : gsl_wavelet, a : gsl_matrix, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet2d_transform_matrix_inverse, "gsl_wavelet2d_transform_matrix_inverse( w : gsl_wavelet, a : gsl_matrix, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet2d_nstransform_matrix, "gsl_wavelet2d_nstransform_matrix( w : gsl_wavelet, a : gsl_matrix, dir : int, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet2d_nstransform_matrix_forward, "gsl_wavelet2d_nstransform_matrix_forward( w : gsl_wavelet, a : gsl_matrix, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_wavelet2d_nstransform_matrix_inverse, "gsl_wavelet2d_nstransform_matrix_inverse( w : gsl_wavelet, a : gsl_matrix, work : gsl_wavelet_workspace )=>int" },
  { dao__gsl_cheb_alloc, "gsl_cheb_alloc( order : int )=>gsl_cheb_series" },
  { dao__gsl_cheb_free, "gsl_cheb_free( cs : gsl_cheb_series )" },
  { dao__gsl_cheb_init, "gsl_cheb_init( cs : gsl_cheb_series, func : gsl_function, a : double, b : double )=>int" },
  { dao__gsl_cheb_order, "gsl_cheb_order( cs : gsl_cheb_series )=>int" },
  { dao__gsl_cheb_size, "gsl_cheb_size( cs : gsl_cheb_series )=>int" },
  { dao__gsl_cheb_coeffs, "gsl_cheb_coeffs( cs : gsl_cheb_series )=>array<double>" },
  { dao__gsl_cheb_eval, "gsl_cheb_eval( cs : gsl_cheb_series, x : double )=>double" },
  { dao__gsl_cheb_eval_err, "gsl_cheb_eval_err( cs : gsl_cheb_series, x : double, result : double, abserr : double )=>int" },
  { dao__gsl_cheb_eval_n, "gsl_cheb_eval_n( cs : gsl_cheb_series, order : int, x : double )=>double" },
  { dao__gsl_cheb_eval_n_err, "gsl_cheb_eval_n_err( cs : gsl_cheb_series, order : int, x : double, result : double, abserr : double )=>int" },
  { dao__gsl_cheb_eval_mode, "gsl_cheb_eval_mode( cs : gsl_cheb_series, x : double, mode : int )=>double" },
  { dao__gsl_cheb_eval_mode_e, "gsl_cheb_eval_mode_e( cs : gsl_cheb_series, x : double, mode : int, result : double, abserr : double )=>int" },
  { dao__gsl_cheb_calc_deriv, "gsl_cheb_calc_deriv( deriv : gsl_cheb_series, cs : gsl_cheb_series )=>int" },
  { dao__gsl_cheb_calc_integ, "gsl_cheb_calc_integ( integ : gsl_cheb_series, cs : gsl_cheb_series )=>int" },
  { dao__gsl_deriv_central, "gsl_deriv_central( f : gsl_function, x : double, h : double, result : double, abserr : double )=>int" },
  { dao__gsl_deriv_backward, "gsl_deriv_backward( f : gsl_function, x : double, h : double, result : double, abserr : double )=>int" },
  { dao__gsl_deriv_forward, "gsl_deriv_forward( f : gsl_function, x : double, h : double, result : double, abserr : double )=>int" },
  { dao__gsl_diff_central, "gsl_diff_central( f : gsl_function, x : double, result : double, abserr : double )=>int" },
  { dao__gsl_diff_backward, "gsl_diff_backward( f : gsl_function, x : double, result : double, abserr : double )=>int" },
  { dao__gsl_diff_forward, "gsl_diff_forward( f : gsl_function, x : double, result : double, abserr : double )=>int" },
  { dao__gsl_fit_linear, "gsl_fit_linear( x : array<double>, xstride : int, y : array<double>, ystride : int, n : int, c0 : double, c1 : double, cov00 : double, cov01 : double, cov11 : double, sumsq : double )=>int" },
  { dao__gsl_fit_wlinear, "gsl_fit_wlinear( x : array<double>, xstride : int, w : array<double>, wstride : int, y : array<double>, ystride : int, n : int, c0 : double, c1 : double, cov00 : double, cov01 : double, cov11 : double, chisq : double )=>int" },
  { dao__gsl_fit_linear_est, "gsl_fit_linear_est( x : double, c0 : double, c1 : double, cov00 : double, cov01 : double, cov11 : double, y : double, y_err : double )=>int" },
  { dao__gsl_fit_mul, "gsl_fit_mul( x : array<double>, xstride : int, y : array<double>, ystride : int, n : int, c1 : double, cov11 : double, sumsq : double )=>int" },
  { dao__gsl_fit_wmul, "gsl_fit_wmul( x : array<double>, xstride : int, w : array<double>, wstride : int, y : array<double>, ystride : int, n : int, c1 : double, cov11 : double, sumsq : double )=>int" },
  { dao__gsl_fit_mul_est, "gsl_fit_mul_est( x : double, c1 : double, cov11 : double, y : double, y_err : double )=>int" },
  { dao__gsl_integration_workspace_alloc, "gsl_integration_workspace_alloc( n : int )=>gsl_integration_workspace" },
  { dao__gsl_integration_workspace_free, "gsl_integration_workspace_free( w : gsl_integration_workspace )" },
  { dao__gsl_integration_qaws_table_alloc, "gsl_integration_qaws_table_alloc( alpha : double, beta : double, mu : int, nu : int )=>gsl_integration_qaws_table" },
  { dao__gsl_integration_qaws_table_set, "gsl_integration_qaws_table_set( t : gsl_integration_qaws_table, alpha : double, beta : double, mu : int, nu : int )=>int" },
  { dao__gsl_integration_qaws_table_free, "gsl_integration_qaws_table_free( t : gsl_integration_qaws_table )" },
  { dao__gsl_integration_qawo_table_alloc, "gsl_integration_qawo_table_alloc( omega : double, L : double, sine : int, n : int )=>gsl_integration_qawo_table" },
  { dao__gsl_integration_qawo_table_set, "gsl_integration_qawo_table_set( t : gsl_integration_qawo_table, omega : double, L : double, sine : int )=>int" },
  { dao__gsl_integration_qawo_table_set_length, "gsl_integration_qawo_table_set_length( t : gsl_integration_qawo_table, L : double )=>int" },
  { dao__gsl_integration_qawo_table_free, "gsl_integration_qawo_table_free( t : gsl_integration_qawo_table )" },
  { dao__gsl_integration_qk15, "gsl_integration_qk15( f : gsl_function, a : double, b : double, result : double, abserr : double, resabs : double, resasc : double )" },
  { dao__gsl_integration_qk21, "gsl_integration_qk21( f : gsl_function, a : double, b : double, result : double, abserr : double, resabs : double, resasc : double )" },
  { dao__gsl_integration_qk31, "gsl_integration_qk31( f : gsl_function, a : double, b : double, result : double, abserr : double, resabs : double, resasc : double )" },
  { dao__gsl_integration_qk41, "gsl_integration_qk41( f : gsl_function, a : double, b : double, result : double, abserr : double, resabs : double, resasc : double )" },
  { dao__gsl_integration_qk51, "gsl_integration_qk51( f : gsl_function, a : double, b : double, result : double, abserr : double, resabs : double, resasc : double )" },
  { dao__gsl_integration_qk61, "gsl_integration_qk61( f : gsl_function, a : double, b : double, result : double, abserr : double, resabs : double, resasc : double )" },
  { dao__gsl_integration_qcheb, "gsl_integration_qcheb( f : gsl_function, a : double, b : double, cheb12 : double, cheb24 : double )" },
  { dao__gsl_integration_qk, "gsl_integration_qk( n : int, xgk : array<double>, wg : array<double>, wgk : array<double>, fv1 : array<double>, fv2 : array<double>, f : gsl_function, a : double, b : double, result : double, abserr : double, resabs : double, resasc : double )" },
  { dao__gsl_integration_qng, "gsl_integration_qng( f : gsl_function, a : double, b : double, epsabs : double, epsrel : double, result : double, abserr : double, neval : int )=>int" },
  { dao__gsl_integration_qag, "gsl_integration_qag( f : gsl_function, a : double, b : double, epsabs : double, epsrel : double, limit : int, key : int, workspace : gsl_integration_workspace, result : double, abserr : double )=>int" },
  { dao__gsl_integration_qagi, "gsl_integration_qagi( f : gsl_function, epsabs : double, epsrel : double, limit : int, workspace : gsl_integration_workspace, result : double, abserr : double )=>int" },
  { dao__gsl_integration_qagiu, "gsl_integration_qagiu( f : gsl_function, a : double, epsabs : double, epsrel : double, limit : int, workspace : gsl_integration_workspace, result : double, abserr : double )=>int" },
  { dao__gsl_integration_qagil, "gsl_integration_qagil( f : gsl_function, b : double, epsabs : double, epsrel : double, limit : int, workspace : gsl_integration_workspace, result : double, abserr : double )=>int" },
  { dao__gsl_integration_qags, "gsl_integration_qags( f : gsl_function, a : double, b : double, epsabs : double, epsrel : double, limit : int, workspace : gsl_integration_workspace, result : double, abserr : double )=>int" },
  { dao__gsl_integration_qagp, "gsl_integration_qagp( f : gsl_function, pts : array<double>, npts : int, epsabs : double, epsrel : double, limit : int, workspace : gsl_integration_workspace, result : double, abserr : double )=>int" },
  { dao__gsl_integration_qawc, "gsl_integration_qawc( f : gsl_function, a : double, b : double, c : double, epsabs : double, epsrel : double, limit : int, workspace : gsl_integration_workspace, result : double, abserr : double )=>int" },
  { dao__gsl_integration_qaws, "gsl_integration_qaws( f : gsl_function, a : double, b : double, t : gsl_integration_qaws_table, epsabs : double, epsrel : double, limit : int, workspace : gsl_integration_workspace, result : double, abserr : double )=>int" },
  { dao__gsl_integration_qawo, "gsl_integration_qawo( f : gsl_function, a : double, epsabs : double, epsrel : double, limit : int, workspace : gsl_integration_workspace, wf : gsl_integration_qawo_table, result : double, abserr : double )=>int" },
  { dao__gsl_integration_qawf, "gsl_integration_qawf( f : gsl_function, a : double, epsabs : double, limit : int, workspace : gsl_integration_workspace, cycle_workspace : gsl_integration_workspace, wf : gsl_integration_qawo_table, result : double, abserr : double )=>int" },
  { dao__gsl_monte_miser_integrate, "gsl_monte_miser_integrate( f : gsl_monte_function, xl : array<double>, xh : array<double>, dim : int, calls : int, r : gsl_rng, state : gsl_monte_miser_state, result : double, abserr : double )=>int" },
  { dao__gsl_monte_miser_alloc, "gsl_monte_miser_alloc( dim : int )=>gsl_monte_miser_state" },
  { dao__gsl_monte_miser_init, "gsl_monte_miser_init( state : gsl_monte_miser_state )=>int" },
  { dao__gsl_monte_miser_free, "gsl_monte_miser_free( state : gsl_monte_miser_state )" },
  { NULL, NULL }
};
/* gsl_cdf.h */
static void dao__gsl_cdf_ugaussian_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  double _gsl_cdf_ugaussian_P = gsl_cdf_ugaussian_P( x );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_ugaussian_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_ugaussian_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  double _gsl_cdf_ugaussian_Q = gsl_cdf_ugaussian_Q( x );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_ugaussian_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_ugaussian_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;

  double _gsl_cdf_ugaussian_Pinv = gsl_cdf_ugaussian_Pinv( P );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_ugaussian_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_ugaussian_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;

  double _gsl_cdf_ugaussian_Qinv = gsl_cdf_ugaussian_Qinv( Q );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_ugaussian_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gaussian_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double sigma= (double) _p[1]->v.d;

  double _gsl_cdf_gaussian_P = gsl_cdf_gaussian_P( x, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gaussian_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gaussian_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double sigma= (double) _p[1]->v.d;

  double _gsl_cdf_gaussian_Q = gsl_cdf_gaussian_Q( x, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gaussian_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gaussian_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double sigma= (double) _p[1]->v.d;

  double _gsl_cdf_gaussian_Pinv = gsl_cdf_gaussian_Pinv( P, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gaussian_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gaussian_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double sigma= (double) _p[1]->v.d;

  double _gsl_cdf_gaussian_Qinv = gsl_cdf_gaussian_Qinv( Q, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gaussian_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gamma_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gamma_P = gsl_cdf_gamma_P( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gamma_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gamma_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gamma_Q = gsl_cdf_gamma_Q( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gamma_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gamma_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gamma_Pinv = gsl_cdf_gamma_Pinv( P, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gamma_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gamma_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gamma_Qinv = gsl_cdf_gamma_Qinv( Q, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gamma_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_cauchy_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_cauchy_P = gsl_cdf_cauchy_P( x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_cauchy_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_cauchy_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_cauchy_Q = gsl_cdf_cauchy_Q( x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_cauchy_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_cauchy_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_cauchy_Pinv = gsl_cdf_cauchy_Pinv( P, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_cauchy_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_cauchy_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_cauchy_Qinv = gsl_cdf_cauchy_Qinv( Q, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_cauchy_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_laplace_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_laplace_P = gsl_cdf_laplace_P( x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_laplace_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_laplace_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_laplace_Q = gsl_cdf_laplace_Q( x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_laplace_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_laplace_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_laplace_Pinv = gsl_cdf_laplace_Pinv( P, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_laplace_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_laplace_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_laplace_Qinv = gsl_cdf_laplace_Qinv( Q, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_laplace_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_rayleigh_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double sigma= (double) _p[1]->v.d;

  double _gsl_cdf_rayleigh_P = gsl_cdf_rayleigh_P( x, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_rayleigh_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_rayleigh_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double sigma= (double) _p[1]->v.d;

  double _gsl_cdf_rayleigh_Q = gsl_cdf_rayleigh_Q( x, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_rayleigh_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_rayleigh_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double sigma= (double) _p[1]->v.d;

  double _gsl_cdf_rayleigh_Pinv = gsl_cdf_rayleigh_Pinv( P, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_rayleigh_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_rayleigh_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double sigma= (double) _p[1]->v.d;

  double _gsl_cdf_rayleigh_Qinv = gsl_cdf_rayleigh_Qinv( Q, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_rayleigh_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_chisq_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double nu= (double) _p[1]->v.d;

  double _gsl_cdf_chisq_P = gsl_cdf_chisq_P( x, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_chisq_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_chisq_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double nu= (double) _p[1]->v.d;

  double _gsl_cdf_chisq_Q = gsl_cdf_chisq_Q( x, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_chisq_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_chisq_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double nu= (double) _p[1]->v.d;

  double _gsl_cdf_chisq_Pinv = gsl_cdf_chisq_Pinv( P, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_chisq_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_chisq_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double nu= (double) _p[1]->v.d;

  double _gsl_cdf_chisq_Qinv = gsl_cdf_chisq_Qinv( Q, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_chisq_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_exponential_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double mu= (double) _p[1]->v.d;

  double _gsl_cdf_exponential_P = gsl_cdf_exponential_P( x, mu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_exponential_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_exponential_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double mu= (double) _p[1]->v.d;

  double _gsl_cdf_exponential_Q = gsl_cdf_exponential_Q( x, mu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_exponential_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_exponential_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double mu= (double) _p[1]->v.d;

  double _gsl_cdf_exponential_Pinv = gsl_cdf_exponential_Pinv( P, mu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_exponential_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_exponential_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double mu= (double) _p[1]->v.d;

  double _gsl_cdf_exponential_Qinv = gsl_cdf_exponential_Qinv( Q, mu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_exponential_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_exppow_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_exppow_P = gsl_cdf_exppow_P( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_exppow_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_exppow_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_exppow_Q = gsl_cdf_exppow_Q( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_exppow_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_tdist_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double nu= (double) _p[1]->v.d;

  double _gsl_cdf_tdist_P = gsl_cdf_tdist_P( x, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_tdist_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_tdist_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double nu= (double) _p[1]->v.d;

  double _gsl_cdf_tdist_Q = gsl_cdf_tdist_Q( x, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_tdist_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_tdist_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double nu= (double) _p[1]->v.d;

  double _gsl_cdf_tdist_Pinv = gsl_cdf_tdist_Pinv( P, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_tdist_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_tdist_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double nu= (double) _p[1]->v.d;

  double _gsl_cdf_tdist_Qinv = gsl_cdf_tdist_Qinv( Q, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_tdist_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_fdist_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double nu1= (double) _p[1]->v.d;
  double nu2= (double) _p[2]->v.d;

  double _gsl_cdf_fdist_P = gsl_cdf_fdist_P( x, nu1, nu2 );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_fdist_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_fdist_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double nu1= (double) _p[1]->v.d;
  double nu2= (double) _p[2]->v.d;

  double _gsl_cdf_fdist_Q = gsl_cdf_fdist_Q( x, nu1, nu2 );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_fdist_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_fdist_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double nu1= (double) _p[1]->v.d;
  double nu2= (double) _p[2]->v.d;

  double _gsl_cdf_fdist_Pinv = gsl_cdf_fdist_Pinv( P, nu1, nu2 );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_fdist_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_fdist_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double nu1= (double) _p[1]->v.d;
  double nu2= (double) _p[2]->v.d;

  double _gsl_cdf_fdist_Qinv = gsl_cdf_fdist_Qinv( Q, nu1, nu2 );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_fdist_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_beta_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_beta_P = gsl_cdf_beta_P( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_beta_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_beta_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_beta_Q = gsl_cdf_beta_Q( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_beta_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_beta_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_beta_Pinv = gsl_cdf_beta_Pinv( P, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_beta_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_beta_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_beta_Qinv = gsl_cdf_beta_Qinv( Q, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_beta_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_flat_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_flat_P = gsl_cdf_flat_P( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_flat_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_flat_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_flat_Q = gsl_cdf_flat_Q( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_flat_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_flat_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_flat_Pinv = gsl_cdf_flat_Pinv( P, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_flat_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_flat_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_flat_Qinv = gsl_cdf_flat_Qinv( Q, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_flat_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_lognormal_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double zeta= (double) _p[1]->v.d;
  double sigma= (double) _p[2]->v.d;

  double _gsl_cdf_lognormal_P = gsl_cdf_lognormal_P( x, zeta, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_lognormal_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_lognormal_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double zeta= (double) _p[1]->v.d;
  double sigma= (double) _p[2]->v.d;

  double _gsl_cdf_lognormal_Q = gsl_cdf_lognormal_Q( x, zeta, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_lognormal_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_lognormal_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double zeta= (double) _p[1]->v.d;
  double sigma= (double) _p[2]->v.d;

  double _gsl_cdf_lognormal_Pinv = gsl_cdf_lognormal_Pinv( P, zeta, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_lognormal_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_lognormal_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double zeta= (double) _p[1]->v.d;
  double sigma= (double) _p[2]->v.d;

  double _gsl_cdf_lognormal_Qinv = gsl_cdf_lognormal_Qinv( Q, zeta, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_lognormal_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gumbel1_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gumbel1_P = gsl_cdf_gumbel1_P( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gumbel1_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gumbel1_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gumbel1_Q = gsl_cdf_gumbel1_Q( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gumbel1_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gumbel1_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gumbel1_Pinv = gsl_cdf_gumbel1_Pinv( P, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gumbel1_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gumbel1_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gumbel1_Qinv = gsl_cdf_gumbel1_Qinv( Q, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gumbel1_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gumbel2_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gumbel2_P = gsl_cdf_gumbel2_P( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gumbel2_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gumbel2_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gumbel2_Q = gsl_cdf_gumbel2_Q( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gumbel2_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gumbel2_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gumbel2_Pinv = gsl_cdf_gumbel2_Pinv( P, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gumbel2_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_gumbel2_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_gumbel2_Qinv = gsl_cdf_gumbel2_Qinv( Q, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_gumbel2_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_weibull_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_weibull_P = gsl_cdf_weibull_P( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_weibull_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_weibull_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_weibull_Q = gsl_cdf_weibull_Q( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_weibull_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_weibull_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_weibull_Pinv = gsl_cdf_weibull_Pinv( P, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_weibull_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_weibull_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_weibull_Qinv = gsl_cdf_weibull_Qinv( Q, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_weibull_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_pareto_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_pareto_P = gsl_cdf_pareto_P( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_pareto_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_pareto_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_pareto_Q = gsl_cdf_pareto_Q( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_pareto_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_pareto_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_pareto_Pinv = gsl_cdf_pareto_Pinv( P, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_pareto_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_pareto_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_cdf_pareto_Qinv = gsl_cdf_pareto_Qinv( Q, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_pareto_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_logistic_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_logistic_P = gsl_cdf_logistic_P( x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_logistic_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_logistic_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_logistic_Q = gsl_cdf_logistic_Q( x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_logistic_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_logistic_Pinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double P= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_logistic_Pinv = gsl_cdf_logistic_Pinv( P, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_logistic_Pinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_logistic_Qinv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double Q= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_cdf_logistic_Qinv = gsl_cdf_logistic_Qinv( Q, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_logistic_Qinv );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_binomial_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;
  unsigned int n= (unsigned int) _p[2]->v.i;

  double _gsl_cdf_binomial_P = gsl_cdf_binomial_P( k, p, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_binomial_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_binomial_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;
  unsigned int n= (unsigned int) _p[2]->v.i;

  double _gsl_cdf_binomial_Q = gsl_cdf_binomial_Q( k, p, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_binomial_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_poisson_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double mu= (double) _p[1]->v.d;

  double _gsl_cdf_poisson_P = gsl_cdf_poisson_P( k, mu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_poisson_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_poisson_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double mu= (double) _p[1]->v.d;

  double _gsl_cdf_poisson_Q = gsl_cdf_poisson_Q( k, mu );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_poisson_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_geometric_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;

  double _gsl_cdf_geometric_P = gsl_cdf_geometric_P( k, p );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_geometric_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_geometric_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;

  double _gsl_cdf_geometric_Q = gsl_cdf_geometric_Q( k, p );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_geometric_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_negative_binomial_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;
  double n= (double) _p[2]->v.d;

  double _gsl_cdf_negative_binomial_P = gsl_cdf_negative_binomial_P( k, p, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_negative_binomial_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_negative_binomial_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;
  double n= (double) _p[2]->v.d;

  double _gsl_cdf_negative_binomial_Q = gsl_cdf_negative_binomial_Q( k, p, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_negative_binomial_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_pascal_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;
  unsigned int n= (unsigned int) _p[2]->v.i;

  double _gsl_cdf_pascal_P = gsl_cdf_pascal_P( k, p, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_pascal_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_pascal_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;
  unsigned int n= (unsigned int) _p[2]->v.i;

  double _gsl_cdf_pascal_Q = gsl_cdf_pascal_Q( k, p, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_pascal_Q );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_hypergeometric_P( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  unsigned int n1= (unsigned int) _p[1]->v.i;
  unsigned int n2= (unsigned int) _p[2]->v.i;
  unsigned int t= (unsigned int) _p[3]->v.i;

  double _gsl_cdf_hypergeometric_P = gsl_cdf_hypergeometric_P( k, n1, n2, t );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_hypergeometric_P );
}
/* gsl_cdf.h */
static void dao__gsl_cdf_hypergeometric_Q( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  unsigned int n1= (unsigned int) _p[1]->v.i;
  unsigned int n2= (unsigned int) _p[2]->v.i;
  unsigned int t= (unsigned int) _p[3]->v.i;

  double _gsl_cdf_hypergeometric_Q = gsl_cdf_hypergeometric_Q( k, n1, n2, t );
  DaoContext_PutDouble( _ctx, (double) _gsl_cdf_hypergeometric_Q );
}
/* gsl_dht.h */
static void dao__gsl_dht_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t size= (size_t) _p[0]->v.i;

  gsl_dht* _gsl_dht_alloc = gsl_dht_alloc( size );
  DaoContext_WrapCData( _ctx, (void*) _gsl_dht_alloc, dao_gsl_dht_Typer );
}
/* gsl_dht.h */
static void dao__gsl_dht_new( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t size= (size_t) _p[0]->v.i;
  double nu= (double) _p[1]->v.d;
  double xmax= (double) _p[2]->v.d;

  gsl_dht* _gsl_dht_new = gsl_dht_new( size, nu, xmax );
  DaoContext_WrapCData( _ctx, (void*) _gsl_dht_new, dao_gsl_dht_Typer );
}
/* gsl_dht.h */
static void dao__gsl_dht_init( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht* t= (gsl_dht*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_dht_Typer );
  double nu= (double) _p[1]->v.d;
  double xmax= (double) _p[2]->v.d;

  int _gsl_dht_init = gsl_dht_init( t, nu, xmax );
  DaoContext_PutInteger( _ctx, (int) _gsl_dht_init );
}
/* gsl_dht.h */
static void dao__gsl_dht_x_sample( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht* t= (gsl_dht*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_dht_Typer );
  int n= (int) _p[1]->v.i;

  double _gsl_dht_x_sample = gsl_dht_x_sample( t, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_dht_x_sample );
}
/* gsl_dht.h */
static void dao__gsl_dht_k_sample( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht* t= (gsl_dht*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_dht_Typer );
  int n= (int) _p[1]->v.i;

  double _gsl_dht_k_sample = gsl_dht_k_sample( t, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_dht_k_sample );
}
/* gsl_dht.h */
static void dao__gsl_dht_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht* t= (gsl_dht*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_dht_Typer );

  gsl_dht_free( t );
}
/* gsl_dht.h */
static void dao__gsl_dht_apply( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_dht* t= (gsl_dht*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_dht_Typer );
  double f_in= (double) _p[1]->v.d;
  double f_out= (double) _p[2]->v.d;

  int _gsl_dht_apply = gsl_dht_apply( t, & f_in, & f_out );
  _p[1]->v.d = (double) f_in;
  _p[2]->v.d = (double) f_out;
  DaoContext_PutInteger( _ctx, (int) _gsl_dht_apply );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t nx= (size_t) _p[0]->v.i;
  size_t ny= (size_t) _p[1]->v.i;

  gsl_histogram2d* _gsl_histogram2d_alloc = gsl_histogram2d_alloc( nx, ny );
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram2d_alloc, dao_gsl_histogram2d_Typer );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_calloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t nx= (size_t) _p[0]->v.i;
  size_t ny= (size_t) _p[1]->v.i;

  gsl_histogram2d* _gsl_histogram2d_calloc = gsl_histogram2d_calloc( nx, ny );
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram2d_calloc, dao_gsl_histogram2d_Typer );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_calloc_uniform( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t nx= (size_t) _p[0]->v.i;
  size_t ny= (size_t) _p[1]->v.i;
  double xmin= (double) _p[2]->v.d;
  double xmax= (double) _p[3]->v.d;
  double ymin= (double) _p[4]->v.d;
  double ymax= (double) _p[5]->v.d;

  gsl_histogram2d* _gsl_histogram2d_calloc_uniform = gsl_histogram2d_calloc_uniform( nx, ny, xmin, xmax, ymin, ymax );
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram2d_calloc_uniform, dao_gsl_histogram2d_Typer );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  gsl_histogram2d_free( h );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_increment( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  double x= (double) _p[1]->v.d;
  double y= (double) _p[2]->v.d;

  int _gsl_histogram2d_increment = gsl_histogram2d_increment( h, x, y );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_increment );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_accumulate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  double x= (double) _p[1]->v.d;
  double y= (double) _p[2]->v.d;
  double weight= (double) _p[3]->v.d;

  int _gsl_histogram2d_accumulate = gsl_histogram2d_accumulate( h, x, y, weight );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_accumulate );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_find( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  double x= (double) _p[1]->v.d;
  double y= (double) _p[2]->v.d;
  size_t i= (size_t) _p[3]->v.i;
  size_t j= (size_t) _p[4]->v.i;

  int _gsl_histogram2d_find = gsl_histogram2d_find( h, x, y, & i, & j );
  _p[3]->v.i = (int) i;
  _p[4]->v.i = (int) j;
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_find );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_get( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  size_t i= (size_t) _p[1]->v.i;
  size_t j= (size_t) _p[2]->v.i;

  double _gsl_histogram2d_get = gsl_histogram2d_get( h, i, j );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_get );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_get_xrange( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  size_t i= (size_t) _p[1]->v.i;
  double xlower= (double) _p[2]->v.d;
  double xupper= (double) _p[3]->v.d;

  int _gsl_histogram2d_get_xrange = gsl_histogram2d_get_xrange( h, i, & xlower, & xupper );
  _p[2]->v.d = (double) xlower;
  _p[3]->v.d = (double) xupper;
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_get_xrange );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_get_yrange( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  size_t j= (size_t) _p[1]->v.i;
  double ylower= (double) _p[2]->v.d;
  double yupper= (double) _p[3]->v.d;

  int _gsl_histogram2d_get_yrange = gsl_histogram2d_get_yrange( h, j, & ylower, & yupper );
  _p[2]->v.d = (double) ylower;
  _p[3]->v.d = (double) yupper;
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_get_yrange );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_xmax( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_xmax = gsl_histogram2d_xmax( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_xmax );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_xmin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_xmin = gsl_histogram2d_xmin( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_xmin );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_nx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  size_t _gsl_histogram2d_nx = gsl_histogram2d_nx( h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_nx );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_ymax( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_ymax = gsl_histogram2d_ymax( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_ymax );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_ymin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_ymin = gsl_histogram2d_ymin( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_ymin );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_ny( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  size_t _gsl_histogram2d_ny = gsl_histogram2d_ny( h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_ny );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_reset( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  gsl_histogram2d_reset( h );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_calloc_range( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t nx= (size_t) _p[0]->v.i;
  size_t ny= (size_t) _p[1]->v.i;
  double xrange= (double) _p[2]->v.d;
  double yrange= (double) _p[3]->v.d;

  gsl_histogram2d* _gsl_histogram2d_calloc_range = gsl_histogram2d_calloc_range( nx, ny, & xrange, & yrange );
  _p[2]->v.d = (double) xrange;
  _p[3]->v.d = (double) yrange;
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram2d_calloc_range, dao_gsl_histogram2d_Typer );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_set_ranges_uniform( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  double xmin= (double) _p[1]->v.d;
  double xmax= (double) _p[2]->v.d;
  double ymin= (double) _p[3]->v.d;
  double ymax= (double) _p[4]->v.d;

  int _gsl_histogram2d_set_ranges_uniform = gsl_histogram2d_set_ranges_uniform( h, xmin, xmax, ymin, ymax );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_set_ranges_uniform );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_set_ranges( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  double* xrange= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t xsize= (size_t) _p[2]->v.i;
  double* yrange= (double*) DaoArray_ToDouble( _p[3]->v.array );
  size_t ysize= (size_t) _p[4]->v.i;

  int _gsl_histogram2d_set_ranges = gsl_histogram2d_set_ranges( h, xrange, xsize, yrange, ysize );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_set_ranges );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_memcpy( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* dest= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  gsl_histogram2d* source= (gsl_histogram2d*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram2d_Typer );

  int _gsl_histogram2d_memcpy = gsl_histogram2d_memcpy( dest, source );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_memcpy );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_clone( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* source= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  gsl_histogram2d* _gsl_histogram2d_clone = gsl_histogram2d_clone( source );
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram2d_clone, dao_gsl_histogram2d_Typer );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_max_val( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_max_val = gsl_histogram2d_max_val( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_max_val );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_max_bin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  size_t i= (size_t) _p[1]->v.i;
  size_t j= (size_t) _p[2]->v.i;

  gsl_histogram2d_max_bin( h, & i, & j );
  _p[1]->v.i = (int) i;
  _p[2]->v.i = (int) j;
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_min_val( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_min_val = gsl_histogram2d_min_val( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_min_val );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_min_bin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  size_t i= (size_t) _p[1]->v.i;
  size_t j= (size_t) _p[2]->v.i;

  gsl_histogram2d_min_bin( h, & i, & j );
  _p[1]->v.i = (int) i;
  _p[2]->v.i = (int) j;
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_xmean( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_xmean = gsl_histogram2d_xmean( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_xmean );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_ymean( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_ymean = gsl_histogram2d_ymean( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_ymean );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_xsigma( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_xsigma = gsl_histogram2d_xsigma( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_xsigma );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_ysigma( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_ysigma = gsl_histogram2d_ysigma( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_ysigma );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_cov( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_cov = gsl_histogram2d_cov( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_cov );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_sum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );

  double _gsl_histogram2d_sum = gsl_histogram2d_sum( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram2d_sum );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_equal_bins_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h1= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  gsl_histogram2d* h2= (gsl_histogram2d*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram2d_Typer );

  int _gsl_histogram2d_equal_bins_p = gsl_histogram2d_equal_bins_p( h1, h2 );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_equal_bins_p );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_add( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h1= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  gsl_histogram2d* h2= (gsl_histogram2d*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram2d_Typer );

  int _gsl_histogram2d_add = gsl_histogram2d_add( h1, h2 );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_add );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_sub( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h1= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  gsl_histogram2d* h2= (gsl_histogram2d*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram2d_Typer );

  int _gsl_histogram2d_sub = gsl_histogram2d_sub( h1, h2 );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_sub );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_mul( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h1= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  gsl_histogram2d* h2= (gsl_histogram2d*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram2d_Typer );

  int _gsl_histogram2d_mul = gsl_histogram2d_mul( h1, h2 );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_mul );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_div( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h1= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  gsl_histogram2d* h2= (gsl_histogram2d*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram2d_Typer );

  int _gsl_histogram2d_div = gsl_histogram2d_div( h1, h2 );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_div );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_scale( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  double scale= (double) _p[1]->v.d;

  int _gsl_histogram2d_scale = gsl_histogram2d_scale( h, scale );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_scale );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_shift( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_Typer );
  double shift= (double) _p[1]->v.d;

  int _gsl_histogram2d_shift = gsl_histogram2d_shift( h, shift );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_shift );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_fwrite( DaoContext *_ctx, DValue *_p[], int _n )
{
  FILE* stream= (FILE*) DaoStream_GetFile( _p[0]->v.stream );
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram2d_Typer );

  int _gsl_histogram2d_fwrite = gsl_histogram2d_fwrite( stream, h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_fwrite );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_fread( DaoContext *_ctx, DValue *_p[], int _n )
{
  FILE* stream= (FILE*) DaoStream_GetFile( _p[0]->v.stream );
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram2d_Typer );

  int _gsl_histogram2d_fread = gsl_histogram2d_fread( stream, h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_fread );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_fprintf( DaoContext *_ctx, DValue *_p[], int _n )
{
  FILE* stream= (FILE*) DaoStream_GetFile( _p[0]->v.stream );
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram2d_Typer );
  char* range_format= (char*) DString_GetMBS( _p[2]->v.s );
  char* bin_format= (char*) DString_GetMBS( _p[3]->v.s );

  int _gsl_histogram2d_fprintf = gsl_histogram2d_fprintf( stream, h, range_format, bin_format );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_fprintf );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_fscanf( DaoContext *_ctx, DValue *_p[], int _n )
{
  FILE* stream= (FILE*) DaoStream_GetFile( _p[0]->v.stream );
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram2d_Typer );

  int _gsl_histogram2d_fscanf = gsl_histogram2d_fscanf( stream, h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_fscanf );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_pdf_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t nx= (size_t) _p[0]->v.i;
  size_t ny= (size_t) _p[1]->v.i;

  gsl_histogram2d_pdf* _gsl_histogram2d_pdf_alloc = gsl_histogram2d_pdf_alloc( nx, ny );
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram2d_pdf_alloc, dao_gsl_histogram2d_pdf_Typer );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_pdf_init( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d_pdf* p= (gsl_histogram2d_pdf*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_pdf_Typer );
  gsl_histogram2d* h= (gsl_histogram2d*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram2d_Typer );

  int _gsl_histogram2d_pdf_init = gsl_histogram2d_pdf_init( p, h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_pdf_init );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_pdf_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d_pdf* p= (gsl_histogram2d_pdf*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_pdf_Typer );

  gsl_histogram2d_pdf_free( p );
}
/* gsl_histogram2d.h */
static void dao__gsl_histogram2d_pdf_sample( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram2d_pdf* p= (gsl_histogram2d_pdf*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram2d_pdf_Typer );
  double r1= (double) _p[1]->v.d;
  double r2= (double) _p[2]->v.d;
  double x= (double) _p[3]->v.d;
  double y= (double) _p[4]->v.d;

  int _gsl_histogram2d_pdf_sample = gsl_histogram2d_pdf_sample( p, r1, r2, & x, & y );
  _p[3]->v.d = (double) x;
  _p[4]->v.d = (double) y;
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram2d_pdf_sample );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_histogram* _gsl_histogram_alloc = gsl_histogram_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram_alloc, dao_gsl_histogram_Typer );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_calloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_histogram* _gsl_histogram_calloc = gsl_histogram_calloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram_calloc, dao_gsl_histogram_Typer );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_calloc_uniform( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;
  double xmin= (double) _p[1]->v.d;
  double xmax= (double) _p[2]->v.d;

  gsl_histogram* _gsl_histogram_calloc_uniform = gsl_histogram_calloc_uniform( n, xmin, xmax );
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram_calloc_uniform, dao_gsl_histogram_Typer );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  gsl_histogram_free( h );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_increment( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  double x= (double) _p[1]->v.d;

  int _gsl_histogram_increment = gsl_histogram_increment( h, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_increment );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_accumulate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  double x= (double) _p[1]->v.d;
  double weight= (double) _p[2]->v.d;

  int _gsl_histogram_accumulate = gsl_histogram_accumulate( h, x, weight );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_accumulate );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_find( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  double x= (double) _p[1]->v.d;
  size_t i= (size_t) _p[2]->v.i;

  int _gsl_histogram_find = gsl_histogram_find( h, x, & i );
  _p[2]->v.i = (int) i;
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_find );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_get( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  size_t i= (size_t) _p[1]->v.i;

  double _gsl_histogram_get = gsl_histogram_get( h, i );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram_get );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_get_range( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  size_t i= (size_t) _p[1]->v.i;
  double lower= (double) _p[2]->v.d;
  double upper= (double) _p[3]->v.d;

  int _gsl_histogram_get_range = gsl_histogram_get_range( h, i, & lower, & upper );
  _p[2]->v.d = (double) lower;
  _p[3]->v.d = (double) upper;
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_get_range );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_max( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  double _gsl_histogram_max = gsl_histogram_max( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram_max );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_min( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  double _gsl_histogram_min = gsl_histogram_min( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram_min );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_bins( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  size_t _gsl_histogram_bins = gsl_histogram_bins( h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_bins );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_reset( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  gsl_histogram_reset( h );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_calloc_range( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;
  double range= (double) _p[1]->v.d;

  gsl_histogram* _gsl_histogram_calloc_range = gsl_histogram_calloc_range( n, & range );
  _p[1]->v.d = (double) range;
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram_calloc_range, dao_gsl_histogram_Typer );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_set_ranges( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  double* range= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t size= (size_t) _p[2]->v.i;

  int _gsl_histogram_set_ranges = gsl_histogram_set_ranges( h, range, size );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_set_ranges );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_set_ranges_uniform( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  double xmin= (double) _p[1]->v.d;
  double xmax= (double) _p[2]->v.d;

  int _gsl_histogram_set_ranges_uniform = gsl_histogram_set_ranges_uniform( h, xmin, xmax );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_set_ranges_uniform );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_memcpy( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* dest= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  gsl_histogram* source= (gsl_histogram*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram_Typer );

  int _gsl_histogram_memcpy = gsl_histogram_memcpy( dest, source );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_memcpy );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_clone( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* source= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  gsl_histogram* _gsl_histogram_clone = gsl_histogram_clone( source );
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram_clone, dao_gsl_histogram_Typer );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_max_val( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  double _gsl_histogram_max_val = gsl_histogram_max_val( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram_max_val );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_max_bin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  size_t _gsl_histogram_max_bin = gsl_histogram_max_bin( h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_max_bin );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_min_val( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  double _gsl_histogram_min_val = gsl_histogram_min_val( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram_min_val );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_min_bin( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  size_t _gsl_histogram_min_bin = gsl_histogram_min_bin( h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_min_bin );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_equal_bins_p( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h1= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  gsl_histogram* h2= (gsl_histogram*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram_Typer );

  int _gsl_histogram_equal_bins_p = gsl_histogram_equal_bins_p( h1, h2 );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_equal_bins_p );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_add( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h1= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  gsl_histogram* h2= (gsl_histogram*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram_Typer );

  int _gsl_histogram_add = gsl_histogram_add( h1, h2 );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_add );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_sub( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h1= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  gsl_histogram* h2= (gsl_histogram*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram_Typer );

  int _gsl_histogram_sub = gsl_histogram_sub( h1, h2 );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_sub );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_mul( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h1= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  gsl_histogram* h2= (gsl_histogram*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram_Typer );

  int _gsl_histogram_mul = gsl_histogram_mul( h1, h2 );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_mul );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_div( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h1= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  gsl_histogram* h2= (gsl_histogram*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram_Typer );

  int _gsl_histogram_div = gsl_histogram_div( h1, h2 );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_div );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_scale( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  double scale= (double) _p[1]->v.d;

  int _gsl_histogram_scale = gsl_histogram_scale( h, scale );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_scale );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_shift( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  double shift= (double) _p[1]->v.d;

  int _gsl_histogram_shift = gsl_histogram_shift( h, shift );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_shift );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_sigma( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  double _gsl_histogram_sigma = gsl_histogram_sigma( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram_sigma );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_mean( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  double _gsl_histogram_mean = gsl_histogram_mean( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram_mean );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_sum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );

  double _gsl_histogram_sum = gsl_histogram_sum( h );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram_sum );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_fwrite( DaoContext *_ctx, DValue *_p[], int _n )
{
  FILE* stream= (FILE*) DaoStream_GetFile( _p[0]->v.stream );
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram_Typer );

  int _gsl_histogram_fwrite = gsl_histogram_fwrite( stream, h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_fwrite );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_fread( DaoContext *_ctx, DValue *_p[], int _n )
{
  FILE* stream= (FILE*) DaoStream_GetFile( _p[0]->v.stream );
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram_Typer );

  int _gsl_histogram_fread = gsl_histogram_fread( stream, h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_fread );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_fprintf( DaoContext *_ctx, DValue *_p[], int _n )
{
  FILE* stream= (FILE*) DaoStream_GetFile( _p[0]->v.stream );
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram_Typer );
  char* range_format= (char*) DString_GetMBS( _p[2]->v.s );
  char* bin_format= (char*) DString_GetMBS( _p[3]->v.s );

  int _gsl_histogram_fprintf = gsl_histogram_fprintf( stream, h, range_format, bin_format );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_fprintf );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_fscanf( DaoContext *_ctx, DValue *_p[], int _n )
{
  FILE* stream= (FILE*) DaoStream_GetFile( _p[0]->v.stream );
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram_Typer );

  int _gsl_histogram_fscanf = gsl_histogram_fscanf( stream, h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_fscanf );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_pdf_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_histogram_pdf* _gsl_histogram_pdf_alloc = gsl_histogram_pdf_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_histogram_pdf_alloc, dao_gsl_histogram_pdf_Typer );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_pdf_init( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram_pdf* p= (gsl_histogram_pdf*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_pdf_Typer );
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_histogram_Typer );

  int _gsl_histogram_pdf_init = gsl_histogram_pdf_init( p, h );
  DaoContext_PutInteger( _ctx, (int) _gsl_histogram_pdf_init );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_pdf_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram_pdf* p= (gsl_histogram_pdf*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_pdf_Typer );

  gsl_histogram_pdf_free( p );
}
/* gsl_histogram.h */
static void dao__gsl_histogram_pdf_sample( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram_pdf* p= (gsl_histogram_pdf*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_pdf_Typer );
  double r= (double) _p[1]->v.d;

  double _gsl_histogram_pdf_sample = gsl_histogram_pdf_sample( p, r );
  DaoContext_PutDouble( _ctx, (double) _gsl_histogram_pdf_sample );
}
/* gsl_interp.h */
static void dao__gsl_interp_accel_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{

  gsl_interp_accel* _gsl_interp_accel_alloc = gsl_interp_accel_alloc(  );
  DaoContext_WrapCData( _ctx, (void*) _gsl_interp_accel_alloc, dao_gsl_interp_accel_Typer );
}
/* gsl_interp.h */
static void dao__gsl_interp_accel_reset( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_accel_Typer );

  int _gsl_interp_accel_reset = gsl_interp_accel_reset( a );
  DaoContext_PutInteger( _ctx, (int) _gsl_interp_accel_reset );
}
/* gsl_interp.h */
static void dao__gsl_interp_accel_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_accel_Typer );

  gsl_interp_accel_free( a );
}
/* gsl_interp.h */
static void dao__gsl_interp_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_type* T= (gsl_interp_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_type_Typer );
  size_t n= (size_t) _p[1]->v.i;

  gsl_interp* _gsl_interp_alloc = gsl_interp_alloc( T, n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_interp_alloc, dao_gsl_interp_Typer );
}
/* gsl_interp.h */
static void dao__gsl_interp_init( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* obj= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );
  double* xa= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* ya= (double*) DaoArray_ToDouble( _p[2]->v.array );
  size_t size= (size_t) _p[3]->v.i;

  int _gsl_interp_init = gsl_interp_init( obj, xa, ya, size );
  DaoContext_PutInteger( _ctx, (int) _gsl_interp_init );
}
/* gsl_interp.h */
static void dao__gsl_interp_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* interp= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );

  const char* _gsl_interp_name = gsl_interp_name( interp );
  DaoContext_PutMBString( _ctx, (char*) _gsl_interp_name );
}
/* gsl_interp.h */
static void dao__gsl_interp_min_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* interp= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );

  unsigned int _gsl_interp_min_size = gsl_interp_min_size( interp );
  DaoContext_PutInteger( _ctx, (int) _gsl_interp_min_size );
}
/* gsl_interp.h */
static void dao__gsl_interp_eval_e( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* obj= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );
  double* xa= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* ya= (double*) DaoArray_ToDouble( _p[2]->v.array );
  double x= (double) _p[3]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_interp_accel_Typer );
  double y= (double) _p[5]->v.d;

  int _gsl_interp_eval_e = gsl_interp_eval_e( obj, xa, ya, x, a, & y );
  _p[5]->v.d = (double) y;
  DaoContext_PutInteger( _ctx, (int) _gsl_interp_eval_e );
}
/* gsl_interp.h */
static void dao__gsl_interp_eval( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* obj= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );
  double* xa= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* ya= (double*) DaoArray_ToDouble( _p[2]->v.array );
  double x= (double) _p[3]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_interp_accel_Typer );

  double _gsl_interp_eval = gsl_interp_eval( obj, xa, ya, x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_interp_eval );
}
/* gsl_interp.h */
static void dao__gsl_interp_eval_deriv_e( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* obj= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );
  double* xa= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* ya= (double*) DaoArray_ToDouble( _p[2]->v.array );
  double x= (double) _p[3]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_interp_accel_Typer );
  double d= (double) _p[5]->v.d;

  int _gsl_interp_eval_deriv_e = gsl_interp_eval_deriv_e( obj, xa, ya, x, a, & d );
  _p[5]->v.d = (double) d;
  DaoContext_PutInteger( _ctx, (int) _gsl_interp_eval_deriv_e );
}
/* gsl_interp.h */
static void dao__gsl_interp_eval_deriv( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* obj= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );
  double* xa= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* ya= (double*) DaoArray_ToDouble( _p[2]->v.array );
  double x= (double) _p[3]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_interp_accel_Typer );

  double _gsl_interp_eval_deriv = gsl_interp_eval_deriv( obj, xa, ya, x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_interp_eval_deriv );
}
/* gsl_interp.h */
static void dao__gsl_interp_eval_deriv2_e( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* obj= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );
  double* xa= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* ya= (double*) DaoArray_ToDouble( _p[2]->v.array );
  double x= (double) _p[3]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_interp_accel_Typer );
  double d2= (double) _p[5]->v.d;

  int _gsl_interp_eval_deriv2_e = gsl_interp_eval_deriv2_e( obj, xa, ya, x, a, & d2 );
  _p[5]->v.d = (double) d2;
  DaoContext_PutInteger( _ctx, (int) _gsl_interp_eval_deriv2_e );
}
/* gsl_interp.h */
static void dao__gsl_interp_eval_deriv2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* obj= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );
  double* xa= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* ya= (double*) DaoArray_ToDouble( _p[2]->v.array );
  double x= (double) _p[3]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_interp_accel_Typer );

  double _gsl_interp_eval_deriv2 = gsl_interp_eval_deriv2( obj, xa, ya, x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_interp_eval_deriv2 );
}
/* gsl_interp.h */
static void dao__gsl_interp_eval_integ_e( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* obj= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );
  double* xa= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* ya= (double*) DaoArray_ToDouble( _p[2]->v.array );
  double a= (double) _p[3]->v.d;
  double b= (double) _p[4]->v.d;
  gsl_interp_accel* acc= (gsl_interp_accel*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_interp_accel_Typer );
  double result= (double) _p[6]->v.d;

  int _gsl_interp_eval_integ_e = gsl_interp_eval_integ_e( obj, xa, ya, a, b, acc, & result );
  _p[6]->v.d = (double) result;
  DaoContext_PutInteger( _ctx, (int) _gsl_interp_eval_integ_e );
}
/* gsl_interp.h */
static void dao__gsl_interp_eval_integ( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* obj= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );
  double* xa= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* ya= (double*) DaoArray_ToDouble( _p[2]->v.array );
  double a= (double) _p[3]->v.d;
  double b= (double) _p[4]->v.d;
  gsl_interp_accel* acc= (gsl_interp_accel*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_interp_accel_Typer );

  double _gsl_interp_eval_integ = gsl_interp_eval_integ( obj, xa, ya, a, b, acc );
  DaoContext_PutDouble( _ctx, (double) _gsl_interp_eval_integ );
}
/* gsl_interp.h */
static void dao__gsl_interp_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp* interp= (gsl_interp*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_Typer );

  gsl_interp_free( interp );
}
/* gsl_interp.h */
static void dao__gsl_interp_bsearch( DaoContext *_ctx, DValue *_p[], int _n )
{
  double* x_array= (double*) DaoArray_ToDouble( _p[0]->v.array );
  double x= (double) _p[1]->v.d;
  size_t index_lo= (size_t) _p[2]->v.i;
  size_t index_hi= (size_t) _p[3]->v.i;

  size_t _gsl_interp_bsearch = gsl_interp_bsearch( x_array, x, index_lo, index_hi );
  DaoContext_PutInteger( _ctx, (int) _gsl_interp_bsearch );
}
/* gsl_interp.h */
static void dao__gsl_interp_accel_find( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_accel_Typer );
  double* x_array= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t size= (size_t) _p[2]->v.i;
  double x= (double) _p[3]->v.d;

  size_t _gsl_interp_accel_find = gsl_interp_accel_find( a, x_array, size, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_interp_accel_find );
}
/* gsl_ntuple.h */
static void dao__gsl_ntuple_open( DaoContext *_ctx, DValue *_p[], int _n )
{
  char* filename= (char*) DString_GetMBS( _p[0]->v.s );
  void* ntuple_data= (void*) DaoCData_GetData( _p[1]->v.cdata );
  size_t size= (size_t) _p[2]->v.i;

  gsl_ntuple* _gsl_ntuple_open = gsl_ntuple_open( filename, ntuple_data, size );
  DString_SetMBS( _p[0]->v.s, (char*) filename );
  DaoContext_WrapCData( _ctx, (void*) _gsl_ntuple_open, dao_gsl_ntuple_Typer );
}
/* gsl_ntuple.h */
static void dao__gsl_ntuple_create( DaoContext *_ctx, DValue *_p[], int _n )
{
  char* filename= (char*) DString_GetMBS( _p[0]->v.s );
  void* ntuple_data= (void*) DaoCData_GetData( _p[1]->v.cdata );
  size_t size= (size_t) _p[2]->v.i;

  gsl_ntuple* _gsl_ntuple_create = gsl_ntuple_create( filename, ntuple_data, size );
  DString_SetMBS( _p[0]->v.s, (char*) filename );
  DaoContext_WrapCData( _ctx, (void*) _gsl_ntuple_create, dao_gsl_ntuple_Typer );
}
/* gsl_ntuple.h */
static void dao__gsl_ntuple_write( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ntuple* ntuple= (gsl_ntuple*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_ntuple_Typer );

  int _gsl_ntuple_write = gsl_ntuple_write( ntuple );
  DaoContext_PutInteger( _ctx, (int) _gsl_ntuple_write );
}
/* gsl_ntuple.h */
static void dao__gsl_ntuple_read( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ntuple* ntuple= (gsl_ntuple*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_ntuple_Typer );

  int _gsl_ntuple_read = gsl_ntuple_read( ntuple );
  DaoContext_PutInteger( _ctx, (int) _gsl_ntuple_read );
}
/* gsl_ntuple.h */
static void dao__gsl_ntuple_bookdata( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ntuple* ntuple= (gsl_ntuple*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_ntuple_Typer );

  int _gsl_ntuple_bookdata = gsl_ntuple_bookdata( ntuple );
  DaoContext_PutInteger( _ctx, (int) _gsl_ntuple_bookdata );
}
/* gsl_ntuple.h */
static void dao__gsl_ntuple_project( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_histogram* h= (gsl_histogram*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_histogram_Typer );
  gsl_ntuple* ntuple= (gsl_ntuple*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_ntuple_Typer );
  gsl_ntuple_value_fn* value_func= (gsl_ntuple_value_fn*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_ntuple_value_fn_Typer );
  gsl_ntuple_select_fn* select_func= (gsl_ntuple_select_fn*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_ntuple_select_fn_Typer );

  int _gsl_ntuple_project = gsl_ntuple_project( h, ntuple, value_func, select_func );
  DaoContext_PutInteger( _ctx, (int) _gsl_ntuple_project );
}
/* gsl_ntuple.h */
static void dao__gsl_ntuple_close( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ntuple* ntuple= (gsl_ntuple*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_ntuple_Typer );

  int _gsl_ntuple_close = gsl_ntuple_close( ntuple );
  DaoContext_PutInteger( _ctx, (int) _gsl_ntuple_close );
}
/* gsl_rng.h */
static void dao__gsl_rng_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng_type* T= (gsl_rng_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_type_Typer );

  gsl_rng* _gsl_rng_alloc = gsl_rng_alloc( T );
  DaoContext_WrapCData( _ctx, (void*) _gsl_rng_alloc, dao_gsl_rng_Typer );
}
/* gsl_rng.h */
static void dao__gsl_rng_memcpy( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* dest= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  gsl_rng* src= (gsl_rng*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_rng_Typer );

  int _gsl_rng_memcpy = gsl_rng_memcpy( dest, src );
  DaoContext_PutInteger( _ctx, (int) _gsl_rng_memcpy );
}
/* gsl_rng.h */
static void dao__gsl_rng_clone( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  gsl_rng* _gsl_rng_clone = gsl_rng_clone( r );
  DaoContext_WrapCData( _ctx, (void*) _gsl_rng_clone, dao_gsl_rng_Typer );
}
/* gsl_rng.h */
static void dao__gsl_rng_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  gsl_rng_free( r );
}
/* gsl_rng.h */
static void dao__gsl_rng_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  unsigned long int seed= (unsigned long int) _p[1]->v.i;

  gsl_rng_set( r, seed );
}
/* gsl_rng.h */
static void dao__gsl_rng_max( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  unsigned long int _gsl_rng_max = gsl_rng_max( r );
  DaoContext_PutInteger( _ctx, (int) _gsl_rng_max );
}
/* gsl_rng.h */
static void dao__gsl_rng_min( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  unsigned long int _gsl_rng_min = gsl_rng_min( r );
  DaoContext_PutInteger( _ctx, (int) _gsl_rng_min );
}
/* gsl_rng.h */
static void dao__gsl_rng_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  const char* _gsl_rng_name = gsl_rng_name( r );
  DaoContext_PutMBString( _ctx, (char*) _gsl_rng_name );
}
/* gsl_rng.h */
static void dao__gsl_rng_fread( DaoContext *_ctx, DValue *_p[], int _n )
{
  FILE* stream= (FILE*) DaoStream_GetFile( _p[0]->v.stream );
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_rng_Typer );

  int _gsl_rng_fread = gsl_rng_fread( stream, r );
  DaoContext_PutInteger( _ctx, (int) _gsl_rng_fread );
}
/* gsl_rng.h */
static void dao__gsl_rng_fwrite( DaoContext *_ctx, DValue *_p[], int _n )
{
  FILE* stream= (FILE*) DaoStream_GetFile( _p[0]->v.stream );
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_rng_Typer );

  int _gsl_rng_fwrite = gsl_rng_fwrite( stream, r );
  DaoContext_PutInteger( _ctx, (int) _gsl_rng_fwrite );
}
/* gsl_rng.h */
static void dao__gsl_rng_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  size_t _gsl_rng_size = gsl_rng_size( r );
  DaoContext_PutInteger( _ctx, (int) _gsl_rng_size );
}
/* gsl_rng.h */
static void dao__gsl_rng_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  void* _gsl_rng_state = gsl_rng_state( r );
  DaoContext_PutCPointer( _ctx, (void*) _gsl_rng_state, 0 );
}
/* gsl_rng.h */
static void dao__gsl_rng_print_state( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  gsl_rng_print_state( r );
}
/* gsl_rng.h */
static void dao__gsl_rng_env_setup( DaoContext *_ctx, DValue *_p[], int _n )
{

  const gsl_rng_type* _gsl_rng_env_setup = gsl_rng_env_setup(  );
  DaoContext_WrapCData( _ctx, (void*) _gsl_rng_env_setup, dao_gsl_rng_type_Typer );
}
/* gsl_rng.h */
static void dao__gsl_rng_get( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  unsigned long int _gsl_rng_get = gsl_rng_get( r );
  DaoContext_PutInteger( _ctx, (int) _gsl_rng_get );
}
/* gsl_rng.h */
static void dao__gsl_rng_uniform( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  double _gsl_rng_uniform = gsl_rng_uniform( r );
  DaoContext_PutDouble( _ctx, (double) _gsl_rng_uniform );
}
/* gsl_rng.h */
static void dao__gsl_rng_uniform_pos( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  double _gsl_rng_uniform_pos = gsl_rng_uniform_pos( r );
  DaoContext_PutDouble( _ctx, (double) _gsl_rng_uniform_pos );
}
/* gsl_rng.h */
static void dao__gsl_rng_uniform_int( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  unsigned long int n= (unsigned long int) _p[1]->v.i;

  unsigned long int _gsl_rng_uniform_int = gsl_rng_uniform_int( r, n );
  DaoContext_PutInteger( _ctx, (int) _gsl_rng_uniform_int );
}
/* gsl_spline.h */
static void dao__gsl_spline_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_interp_type* T= (gsl_interp_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_interp_type_Typer );
  size_t size= (size_t) _p[1]->v.i;

  gsl_spline* _gsl_spline_alloc = gsl_spline_alloc( T, size );
  DaoContext_WrapCData( _ctx, (void*) _gsl_spline_alloc, dao_gsl_spline_Typer );
}
/* gsl_spline.h */
static void dao__gsl_spline_init( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );
  double* xa= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* ya= (double*) DaoArray_ToDouble( _p[2]->v.array );
  size_t size= (size_t) _p[3]->v.i;

  int _gsl_spline_init = gsl_spline_init( spline, xa, ya, size );
  DaoContext_PutInteger( _ctx, (int) _gsl_spline_init );
}
/* gsl_spline.h */
static void dao__gsl_spline_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );

  const char* _gsl_spline_name = gsl_spline_name( spline );
  DaoContext_PutMBString( _ctx, (char*) _gsl_spline_name );
}
/* gsl_spline.h */
static void dao__gsl_spline_min_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );

  unsigned int _gsl_spline_min_size = gsl_spline_min_size( spline );
  DaoContext_PutInteger( _ctx, (int) _gsl_spline_min_size );
}
/* gsl_spline.h */
static void dao__gsl_spline_eval_e( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );
  double x= (double) _p[1]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_interp_accel_Typer );
  double y= (double) _p[3]->v.d;

  int _gsl_spline_eval_e = gsl_spline_eval_e( spline, x, a, & y );
  _p[3]->v.d = (double) y;
  DaoContext_PutInteger( _ctx, (int) _gsl_spline_eval_e );
}
/* gsl_spline.h */
static void dao__gsl_spline_eval( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );
  double x= (double) _p[1]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_interp_accel_Typer );

  double _gsl_spline_eval = gsl_spline_eval( spline, x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_spline_eval );
}
/* gsl_spline.h */
static void dao__gsl_spline_eval_deriv_e( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );
  double x= (double) _p[1]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_interp_accel_Typer );
  double y= (double) _p[3]->v.d;

  int _gsl_spline_eval_deriv_e = gsl_spline_eval_deriv_e( spline, x, a, & y );
  _p[3]->v.d = (double) y;
  DaoContext_PutInteger( _ctx, (int) _gsl_spline_eval_deriv_e );
}
/* gsl_spline.h */
static void dao__gsl_spline_eval_deriv( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );
  double x= (double) _p[1]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_interp_accel_Typer );

  double _gsl_spline_eval_deriv = gsl_spline_eval_deriv( spline, x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_spline_eval_deriv );
}
/* gsl_spline.h */
static void dao__gsl_spline_eval_deriv2_e( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );
  double x= (double) _p[1]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_interp_accel_Typer );
  double y= (double) _p[3]->v.d;

  int _gsl_spline_eval_deriv2_e = gsl_spline_eval_deriv2_e( spline, x, a, & y );
  _p[3]->v.d = (double) y;
  DaoContext_PutInteger( _ctx, (int) _gsl_spline_eval_deriv2_e );
}
/* gsl_spline.h */
static void dao__gsl_spline_eval_deriv2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );
  double x= (double) _p[1]->v.d;
  gsl_interp_accel* a= (gsl_interp_accel*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_interp_accel_Typer );

  double _gsl_spline_eval_deriv2 = gsl_spline_eval_deriv2( spline, x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_spline_eval_deriv2 );
}
/* gsl_spline.h */
static void dao__gsl_spline_eval_integ_e( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  gsl_interp_accel* acc= (gsl_interp_accel*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_interp_accel_Typer );
  double y= (double) _p[4]->v.d;

  int _gsl_spline_eval_integ_e = gsl_spline_eval_integ_e( spline, a, b, acc, & y );
  _p[4]->v.d = (double) y;
  DaoContext_PutInteger( _ctx, (int) _gsl_spline_eval_integ_e );
}
/* gsl_spline.h */
static void dao__gsl_spline_eval_integ( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  gsl_interp_accel* acc= (gsl_interp_accel*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_interp_accel_Typer );

  double _gsl_spline_eval_integ = gsl_spline_eval_integ( spline, a, b, acc );
  DaoContext_PutDouble( _ctx, (double) _gsl_spline_eval_integ );
}
/* gsl_spline.h */
static void dao__gsl_spline_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_spline* spline= (gsl_spline*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_spline_Typer );

  gsl_spline_free( spline );
}
/* gsl_sum.h */
static void dao__gsl_sum_levin_u_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_sum_levin_u_workspace* _gsl_sum_levin_u_alloc = gsl_sum_levin_u_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_sum_levin_u_alloc, dao_gsl_sum_levin_u_workspace_Typer );
}
/* gsl_sum.h */
static void dao__gsl_sum_levin_u_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_u_workspace* w= (gsl_sum_levin_u_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_sum_levin_u_workspace_Typer );

  gsl_sum_levin_u_free( w );
}
/* gsl_sum.h */
static void dao__gsl_sum_levin_u_accel( DaoContext *_ctx, DValue *_p[], int _n )
{
  double* array= (double*) DaoArray_ToDouble( _p[0]->v.array );
  size_t n= (size_t) _p[1]->v.i;
  gsl_sum_levin_u_workspace* w= (gsl_sum_levin_u_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_sum_levin_u_workspace_Typer );
  double sum_accel= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;

  int _gsl_sum_levin_u_accel = gsl_sum_levin_u_accel( array, n, w, & sum_accel, & abserr );
  _p[3]->v.d = (double) sum_accel;
  _p[4]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_sum_levin_u_accel );
}
/* gsl_sum.h */
static void dao__gsl_sum_levin_u_minmax( DaoContext *_ctx, DValue *_p[], int _n )
{
  double* array= (double*) DaoArray_ToDouble( _p[0]->v.array );
  size_t n= (size_t) _p[1]->v.i;
  size_t min_terms= (size_t) _p[2]->v.i;
  size_t max_terms= (size_t) _p[3]->v.i;
  gsl_sum_levin_u_workspace* w= (gsl_sum_levin_u_workspace*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_sum_levin_u_workspace_Typer );
  double sum_accel= (double) _p[5]->v.d;
  double abserr= (double) _p[6]->v.d;

  int _gsl_sum_levin_u_minmax = gsl_sum_levin_u_minmax( array, n, min_terms, max_terms, w, & sum_accel, & abserr );
  _p[5]->v.d = (double) sum_accel;
  _p[6]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_sum_levin_u_minmax );
}
/* gsl_sum.h */
static void dao__gsl_sum_levin_u_step( DaoContext *_ctx, DValue *_p[], int _n )
{
  double term= (double) _p[0]->v.d;
  size_t n= (size_t) _p[1]->v.i;
  size_t nmax= (size_t) _p[2]->v.i;
  gsl_sum_levin_u_workspace* w= (gsl_sum_levin_u_workspace*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_sum_levin_u_workspace_Typer );
  double sum_accel= (double) _p[4]->v.d;

  int _gsl_sum_levin_u_step = gsl_sum_levin_u_step( term, n, nmax, w, & sum_accel );
  _p[4]->v.d = (double) sum_accel;
  DaoContext_PutInteger( _ctx, (int) _gsl_sum_levin_u_step );
}
/* gsl_sum.h */
static void dao__gsl_sum_levin_utrunc_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_sum_levin_utrunc_workspace* _gsl_sum_levin_utrunc_alloc = gsl_sum_levin_utrunc_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_sum_levin_utrunc_alloc, dao_gsl_sum_levin_utrunc_workspace_Typer );
}
/* gsl_sum.h */
static void dao__gsl_sum_levin_utrunc_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_sum_levin_utrunc_workspace* w= (gsl_sum_levin_utrunc_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_sum_levin_utrunc_workspace_Typer );

  gsl_sum_levin_utrunc_free( w );
}
/* gsl_sum.h */
static void dao__gsl_sum_levin_utrunc_accel( DaoContext *_ctx, DValue *_p[], int _n )
{
  double* array= (double*) DaoArray_ToDouble( _p[0]->v.array );
  size_t n= (size_t) _p[1]->v.i;
  gsl_sum_levin_utrunc_workspace* w= (gsl_sum_levin_utrunc_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_sum_levin_utrunc_workspace_Typer );
  double sum_accel= (double) _p[3]->v.d;
  double abserr_trunc= (double) _p[4]->v.d;

  int _gsl_sum_levin_utrunc_accel = gsl_sum_levin_utrunc_accel( array, n, w, & sum_accel, & abserr_trunc );
  _p[3]->v.d = (double) sum_accel;
  _p[4]->v.d = (double) abserr_trunc;
  DaoContext_PutInteger( _ctx, (int) _gsl_sum_levin_utrunc_accel );
}
/* gsl_sum.h */
static void dao__gsl_sum_levin_utrunc_minmax( DaoContext *_ctx, DValue *_p[], int _n )
{
  double* array= (double*) DaoArray_ToDouble( _p[0]->v.array );
  size_t n= (size_t) _p[1]->v.i;
  size_t min_terms= (size_t) _p[2]->v.i;
  size_t max_terms= (size_t) _p[3]->v.i;
  gsl_sum_levin_utrunc_workspace* w= (gsl_sum_levin_utrunc_workspace*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_sum_levin_utrunc_workspace_Typer );
  double sum_accel= (double) _p[5]->v.d;
  double abserr_trunc= (double) _p[6]->v.d;

  int _gsl_sum_levin_utrunc_minmax = gsl_sum_levin_utrunc_minmax( array, n, min_terms, max_terms, w, & sum_accel, & abserr_trunc );
  _p[5]->v.d = (double) sum_accel;
  _p[6]->v.d = (double) abserr_trunc;
  DaoContext_PutInteger( _ctx, (int) _gsl_sum_levin_utrunc_minmax );
}
/* gsl_sum.h */
static void dao__gsl_sum_levin_utrunc_step( DaoContext *_ctx, DValue *_p[], int _n )
{
  double term= (double) _p[0]->v.d;
  size_t n= (size_t) _p[1]->v.i;
  gsl_sum_levin_utrunc_workspace* w= (gsl_sum_levin_utrunc_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_sum_levin_utrunc_workspace_Typer );
  double sum_accel= (double) _p[3]->v.d;

  int _gsl_sum_levin_utrunc_step = gsl_sum_levin_utrunc_step( term, n, w, & sum_accel );
  _p[3]->v.d = (double) sum_accel;
  DaoContext_PutInteger( _ctx, (int) _gsl_sum_levin_utrunc_step );
}
/* gsl_sys.h */
static void dao__gsl_log1p( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  double _gsl_log1p = gsl_log1p( x );
  DaoContext_PutDouble( _ctx, (double) _gsl_log1p );
}
/* gsl_sys.h */
static void dao__gsl_expm1( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  double _gsl_expm1 = gsl_expm1( x );
  DaoContext_PutDouble( _ctx, (double) _gsl_expm1 );
}
/* gsl_sys.h */
static void dao__gsl_hypot( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double y= (double) _p[1]->v.d;

  double _gsl_hypot = gsl_hypot( x, y );
  DaoContext_PutDouble( _ctx, (double) _gsl_hypot );
}
/* gsl_sys.h */
static void dao__gsl_hypot3( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double y= (double) _p[1]->v.d;
  double z= (double) _p[2]->v.d;

  double _gsl_hypot3 = gsl_hypot3( x, y, z );
  DaoContext_PutDouble( _ctx, (double) _gsl_hypot3 );
}
/* gsl_sys.h */
static void dao__gsl_acosh( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  double _gsl_acosh = gsl_acosh( x );
  DaoContext_PutDouble( _ctx, (double) _gsl_acosh );
}
/* gsl_sys.h */
static void dao__gsl_asinh( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  double _gsl_asinh = gsl_asinh( x );
  DaoContext_PutDouble( _ctx, (double) _gsl_asinh );
}
/* gsl_sys.h */
static void dao__gsl_atanh( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  double _gsl_atanh = gsl_atanh( x );
  DaoContext_PutDouble( _ctx, (double) _gsl_atanh );
}
/* gsl_sys.h */
static void dao__gsl_isnan( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  int _gsl_isnan = gsl_isnan( x );
  DaoContext_PutInteger( _ctx, (int) _gsl_isnan );
}
/* gsl_sys.h */
static void dao__gsl_isinf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  int _gsl_isinf = gsl_isinf( x );
  DaoContext_PutInteger( _ctx, (int) _gsl_isinf );
}
/* gsl_sys.h */
static void dao__gsl_finite( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  int _gsl_finite = gsl_finite( x );
  DaoContext_PutInteger( _ctx, (int) _gsl_finite );
}
/* gsl_sys.h */
static void dao__gsl_nan( DaoContext *_ctx, DValue *_p[], int _n )
{

  double _gsl_nan = gsl_nan(  );
  DaoContext_PutDouble( _ctx, (double) _gsl_nan );
}
/* gsl_sys.h */
static void dao__gsl_posinf( DaoContext *_ctx, DValue *_p[], int _n )
{

  double _gsl_posinf = gsl_posinf(  );
  DaoContext_PutDouble( _ctx, (double) _gsl_posinf );
}
/* gsl_sys.h */
static void dao__gsl_neginf( DaoContext *_ctx, DValue *_p[], int _n )
{

  double _gsl_neginf = gsl_neginf(  );
  DaoContext_PutDouble( _ctx, (double) _gsl_neginf );
}
/* gsl_sys.h */
static void dao__gsl_fdiv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double y= (double) _p[1]->v.d;

  double _gsl_fdiv = gsl_fdiv( x, y );
  DaoContext_PutDouble( _ctx, (double) _gsl_fdiv );
}
/* gsl_sys.h */
static void dao__gsl_coerce_double( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  double _gsl_coerce_double = gsl_coerce_double( x );
  DaoContext_PutDouble( _ctx, (double) _gsl_coerce_double );
}
/* gsl_sys.h */
static void dao__gsl_coerce_float( DaoContext *_ctx, DValue *_p[], int _n )
{
  float x= (float) _p[0]->v.f;

  float _gsl_coerce_float = gsl_coerce_float( x );
  DaoContext_PutFloat( _ctx, (float) _gsl_coerce_float );
}
/* gsl_sys.h */
static void dao__gsl_coerce_long_double( DaoContext *_ctx, DValue *_p[], int _n )
{
  long double x= (long double) _p[0]->v.d;

  long double _gsl_coerce_long_double = gsl_coerce_long_double( x );
  DaoContext_PutDouble( _ctx, (double) _gsl_coerce_long_double );
}
/* gsl_sys.h */
static void dao__gsl_ldexp( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  int e= (int) _p[1]->v.i;

  double _gsl_ldexp = gsl_ldexp( x, e );
  DaoContext_PutDouble( _ctx, (double) _gsl_ldexp );
}
/* gsl_sys.h */
static void dao__gsl_frexp( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  int e= (int) _p[1]->v.i;

  double _gsl_frexp = gsl_frexp( x, & e );
  _p[1]->v.i = (int) e;
  DaoContext_PutDouble( _ctx, (double) _gsl_frexp );
}
/* gsl_sys.h */
static void dao__gsl_fcmp( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x1= (double) _p[0]->v.d;
  double x2= (double) _p[1]->v.d;
  double epsilon= (double) _p[2]->v.d;

  int _gsl_fcmp = gsl_fcmp( x1, x2, epsilon );
  DaoContext_PutInteger( _ctx, (int) _gsl_fcmp );
}
/* gsl_wavelet.h */
static void dao__gsl_wavelet_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet_type* T= (gsl_wavelet_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_type_Typer );
  size_t k= (size_t) _p[1]->v.i;

  gsl_wavelet* _gsl_wavelet_alloc = gsl_wavelet_alloc( T, k );
  DaoContext_WrapCData( _ctx, (void*) _gsl_wavelet_alloc, dao_gsl_wavelet_Typer );
}
/* gsl_wavelet.h */
static void dao__gsl_wavelet_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );

  gsl_wavelet_free( w );
}
/* gsl_wavelet.h */
static void dao__gsl_wavelet_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );

  const char* _gsl_wavelet_name = gsl_wavelet_name( w );
  DaoContext_PutMBString( _ctx, (char*) _gsl_wavelet_name );
}
/* gsl_wavelet.h */
static void dao__gsl_wavelet_workspace_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_wavelet_workspace* _gsl_wavelet_workspace_alloc = gsl_wavelet_workspace_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_wavelet_workspace_alloc, dao_gsl_wavelet_workspace_Typer );
}
/* gsl_wavelet.h */
static void dao__gsl_wavelet_workspace_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  gsl_wavelet_workspace_free( work );
}
/* gsl_wavelet.h */
static void dao__gsl_wavelet_transform( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  double* data= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t stride= (size_t) _p[2]->v.i;
  size_t n= (size_t) _p[3]->v.i;
  gsl_wavelet_direction dir= (gsl_wavelet_direction) _p[4]->v.i;
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet_transform = gsl_wavelet_transform( w, data, stride, n, dir, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet_transform );
}
/* gsl_wavelet.h */
static void dao__gsl_wavelet_transform_forward( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  double* data= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t stride= (size_t) _p[2]->v.i;
  size_t n= (size_t) _p[3]->v.i;
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet_transform_forward = gsl_wavelet_transform_forward( w, data, stride, n, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet_transform_forward );
}
/* gsl_wavelet.h */
static void dao__gsl_wavelet_transform_inverse( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  double* data= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t stride= (size_t) _p[2]->v.i;
  size_t n= (size_t) _p[3]->v.i;
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet_transform_inverse = gsl_wavelet_transform_inverse( w, data, stride, n, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet_transform_inverse );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_step_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step_type* T= (gsl_odeiv_step_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_step_type_Typer );
  size_t dim= (size_t) _p[1]->v.i;

  gsl_odeiv_step* _gsl_odeiv_step_alloc = gsl_odeiv_step_alloc( T, dim );
  DaoContext_WrapCData( _ctx, (void*) _gsl_odeiv_step_alloc, dao_gsl_odeiv_step_Typer );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_step_reset( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step* s= (gsl_odeiv_step*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_step_Typer );

  int _gsl_odeiv_step_reset = gsl_odeiv_step_reset( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_odeiv_step_reset );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_step_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step* s= (gsl_odeiv_step*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_step_Typer );

  gsl_odeiv_step_free( s );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_step_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step* _cp0= (gsl_odeiv_step*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_step_Typer );

  const char* _gsl_odeiv_step_name = gsl_odeiv_step_name( _cp0 );
  DaoContext_PutMBString( _ctx, (char*) _gsl_odeiv_step_name );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_step_order( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step* s= (gsl_odeiv_step*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_step_Typer );

  unsigned int _gsl_odeiv_step_order = gsl_odeiv_step_order( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_odeiv_step_order );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_step_apply( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_step* _cp0= (gsl_odeiv_step*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_step_Typer );
  double t= (double) _p[1]->v.d;
  double h= (double) _p[2]->v.d;
  double* y= (double*) DaoArray_ToDouble( _p[3]->v.array );
  double* yerr= (double*) DaoArray_ToDouble( _p[4]->v.array );
  double* dydt_in= (double*) DaoArray_ToDouble( _p[5]->v.array );
  double* dydt_out= (double*) DaoArray_ToDouble( _p[6]->v.array );
  gsl_odeiv_system* dydt= (gsl_odeiv_system*) DaoCData_CastData( _p[7]->v.cdata, dao_gsl_odeiv_system_Typer );

  int _gsl_odeiv_step_apply = gsl_odeiv_step_apply( _cp0, t, h, y, yerr, dydt_in, dydt_out, dydt );
  DaoContext_PutInteger( _ctx, (int) _gsl_odeiv_step_apply );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_control_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_control_type* T= (gsl_odeiv_control_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_control_type_Typer );

  gsl_odeiv_control* _gsl_odeiv_control_alloc = gsl_odeiv_control_alloc( T );
  DaoContext_WrapCData( _ctx, (void*) _gsl_odeiv_control_alloc, dao_gsl_odeiv_control_Typer );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_control_init( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_control* c= (gsl_odeiv_control*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_control_Typer );
  double eps_abs= (double) _p[1]->v.d;
  double eps_rel= (double) _p[2]->v.d;
  double a_y= (double) _p[3]->v.d;
  double a_dydt= (double) _p[4]->v.d;

  int _gsl_odeiv_control_init = gsl_odeiv_control_init( c, eps_abs, eps_rel, a_y, a_dydt );
  DaoContext_PutInteger( _ctx, (int) _gsl_odeiv_control_init );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_control_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_control* c= (gsl_odeiv_control*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_control_Typer );

  gsl_odeiv_control_free( c );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_control_hadjust( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_control* c= (gsl_odeiv_control*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_control_Typer );
  gsl_odeiv_step* s= (gsl_odeiv_step*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_odeiv_step_Typer );
  double* y= (double*) DaoArray_ToDouble( _p[2]->v.array );
  double* yerr= (double*) DaoArray_ToDouble( _p[3]->v.array );
  double* dydt= (double*) DaoArray_ToDouble( _p[4]->v.array );
  double h= (double) _p[5]->v.d;

  int _gsl_odeiv_control_hadjust = gsl_odeiv_control_hadjust( c, s, y, yerr, dydt, & h );
  _p[5]->v.d = (double) h;
  DaoContext_PutInteger( _ctx, (int) _gsl_odeiv_control_hadjust );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_control_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_control* c= (gsl_odeiv_control*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_control_Typer );

  const char* _gsl_odeiv_control_name = gsl_odeiv_control_name( c );
  DaoContext_PutMBString( _ctx, (char*) _gsl_odeiv_control_name );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_control_standard_new( DaoContext *_ctx, DValue *_p[], int _n )
{
  double eps_abs= (double) _p[0]->v.d;
  double eps_rel= (double) _p[1]->v.d;
  double a_y= (double) _p[2]->v.d;
  double a_dydt= (double) _p[3]->v.d;

  gsl_odeiv_control* _gsl_odeiv_control_standard_new = gsl_odeiv_control_standard_new( eps_abs, eps_rel, a_y, a_dydt );
  DaoContext_WrapCData( _ctx, (void*) _gsl_odeiv_control_standard_new, dao_gsl_odeiv_control_Typer );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_control_y_new( DaoContext *_ctx, DValue *_p[], int _n )
{
  double eps_abs= (double) _p[0]->v.d;
  double eps_rel= (double) _p[1]->v.d;

  gsl_odeiv_control* _gsl_odeiv_control_y_new = gsl_odeiv_control_y_new( eps_abs, eps_rel );
  DaoContext_WrapCData( _ctx, (void*) _gsl_odeiv_control_y_new, dao_gsl_odeiv_control_Typer );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_control_yp_new( DaoContext *_ctx, DValue *_p[], int _n )
{
  double eps_abs= (double) _p[0]->v.d;
  double eps_rel= (double) _p[1]->v.d;

  gsl_odeiv_control* _gsl_odeiv_control_yp_new = gsl_odeiv_control_yp_new( eps_abs, eps_rel );
  DaoContext_WrapCData( _ctx, (void*) _gsl_odeiv_control_yp_new, dao_gsl_odeiv_control_Typer );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_control_scaled_new( DaoContext *_ctx, DValue *_p[], int _n )
{
  double eps_abs= (double) _p[0]->v.d;
  double eps_rel= (double) _p[1]->v.d;
  double a_y= (double) _p[2]->v.d;
  double a_dydt= (double) _p[3]->v.d;
  double* scale_abs= (double*) DaoArray_ToDouble( _p[4]->v.array );
  size_t dim= (size_t) _p[5]->v.i;

  gsl_odeiv_control* _gsl_odeiv_control_scaled_new = gsl_odeiv_control_scaled_new( eps_abs, eps_rel, a_y, a_dydt, scale_abs, dim );
  DaoContext_WrapCData( _ctx, (void*) _gsl_odeiv_control_scaled_new, dao_gsl_odeiv_control_Typer );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_evolve_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t dim= (size_t) _p[0]->v.i;

  gsl_odeiv_evolve* _gsl_odeiv_evolve_alloc = gsl_odeiv_evolve_alloc( dim );
  DaoContext_WrapCData( _ctx, (void*) _gsl_odeiv_evolve_alloc, dao_gsl_odeiv_evolve_Typer );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_evolve_apply( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve* _cp0= (gsl_odeiv_evolve*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_evolve_Typer );
  gsl_odeiv_control* con= (gsl_odeiv_control*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_odeiv_control_Typer );
  gsl_odeiv_step* step= (gsl_odeiv_step*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_odeiv_step_Typer );
  gsl_odeiv_system* dydt= (gsl_odeiv_system*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_odeiv_system_Typer );
  double t= (double) _p[4]->v.d;
  double t1= (double) _p[5]->v.d;
  double h= (double) _p[6]->v.d;
  double* y= (double*) DaoArray_ToDouble( _p[7]->v.array );

  int _gsl_odeiv_evolve_apply = gsl_odeiv_evolve_apply( _cp0, con, step, dydt, & t, t1, & h, y );
  _p[4]->v.d = (double) t;
  _p[6]->v.d = (double) h;
  DaoContext_PutInteger( _ctx, (int) _gsl_odeiv_evolve_apply );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_evolve_reset( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve* _cp0= (gsl_odeiv_evolve*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_evolve_Typer );

  int _gsl_odeiv_evolve_reset = gsl_odeiv_evolve_reset( _cp0 );
  DaoContext_PutInteger( _ctx, (int) _gsl_odeiv_evolve_reset );
}
/* gsl_odeiv.h */
static void dao__gsl_odeiv_evolve_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_odeiv_evolve* _cp0= (gsl_odeiv_evolve*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_odeiv_evolve_Typer );

  gsl_odeiv_evolve_free( _cp0 );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_symm_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_symm_workspace* _gsl_eigen_symm_alloc = gsl_eigen_symm_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_symm_alloc, dao_gsl_eigen_symm_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_symm_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symm_workspace* w= (gsl_eigen_symm_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_symm_workspace_Typer );

  gsl_eigen_symm_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_symm( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_eigen_symm_workspace* w= (gsl_eigen_symm_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_eigen_symm_workspace_Typer );

  int _gsl_eigen_symm = gsl_eigen_symm( A, eval, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_symm );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_symmv_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_symmv_workspace* _gsl_eigen_symmv_alloc = gsl_eigen_symmv_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_symmv_alloc, dao_gsl_eigen_symmv_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_symmv_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_symmv_workspace* w= (gsl_eigen_symmv_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_symmv_workspace_Typer );

  gsl_eigen_symmv_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_symmv( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* evec= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_eigen_symmv_workspace* w= (gsl_eigen_symmv_workspace*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_eigen_symmv_workspace_Typer );

  int _gsl_eigen_symmv = gsl_eigen_symmv( A, eval, evec, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_symmv );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_herm_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_herm_workspace* _gsl_eigen_herm_alloc = gsl_eigen_herm_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_herm_alloc, dao_gsl_eigen_herm_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_herm_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_herm_workspace* w= (gsl_eigen_herm_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_herm_workspace_Typer );

  gsl_eigen_herm_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_herm( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_eigen_herm_workspace* w= (gsl_eigen_herm_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_eigen_herm_workspace_Typer );

  int _gsl_eigen_herm = gsl_eigen_herm( A, eval, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_herm );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_hermv_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_hermv_workspace* _gsl_eigen_hermv_alloc = gsl_eigen_hermv_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_hermv_alloc, dao_gsl_eigen_hermv_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_hermv_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_hermv_workspace* w= (gsl_eigen_hermv_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_hermv_workspace_Typer );

  gsl_eigen_hermv_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_hermv( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix_complex* evec= (gsl_matrix_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_eigen_hermv_workspace* w= (gsl_eigen_hermv_workspace*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_eigen_hermv_workspace_Typer );

  int _gsl_eigen_hermv = gsl_eigen_hermv( A, eval, evec, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_hermv );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_francis_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{

  gsl_eigen_francis_workspace* _gsl_eigen_francis_alloc = gsl_eigen_francis_alloc(  );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_francis_alloc, dao_gsl_eigen_francis_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_francis_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_francis_workspace* w= (gsl_eigen_francis_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_francis_workspace_Typer );

  gsl_eigen_francis_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_francis_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  int compute_t= (int) _p[0]->v.i;
  gsl_eigen_francis_workspace* w= (gsl_eigen_francis_workspace*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_eigen_francis_workspace_Typer );

  gsl_eigen_francis_T( compute_t, w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_francis( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* H= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector_complex* eval= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_eigen_francis_workspace* w= (gsl_eigen_francis_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_eigen_francis_workspace_Typer );

  int _gsl_eigen_francis = gsl_eigen_francis( H, eval, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_francis );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_francis_Z( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* H= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector_complex* eval= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_matrix* Z= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_eigen_francis_workspace* w= (gsl_eigen_francis_workspace*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_eigen_francis_workspace_Typer );

  int _gsl_eigen_francis_Z = gsl_eigen_francis_Z( H, eval, Z, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_francis_Z );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_nonsymm_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_nonsymm_workspace* _gsl_eigen_nonsymm_alloc = gsl_eigen_nonsymm_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_nonsymm_alloc, dao_gsl_eigen_nonsymm_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_nonsymm_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymm_workspace* w= (gsl_eigen_nonsymm_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_nonsymm_workspace_Typer );

  gsl_eigen_nonsymm_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_nonsymm_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  int compute_t= (int) _p[0]->v.i;
  int balance= (int) _p[1]->v.i;
  gsl_eigen_nonsymm_workspace* w= (gsl_eigen_nonsymm_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_eigen_nonsymm_workspace_Typer );

  gsl_eigen_nonsymm_params( compute_t, balance, w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_nonsymm( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector_complex* eval= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_eigen_nonsymm_workspace* w= (gsl_eigen_nonsymm_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_eigen_nonsymm_workspace_Typer );

  int _gsl_eigen_nonsymm = gsl_eigen_nonsymm( A, eval, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_nonsymm );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_nonsymm_Z( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector_complex* eval= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_matrix* Z= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_eigen_nonsymm_workspace* w= (gsl_eigen_nonsymm_workspace*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_eigen_nonsymm_workspace_Typer );

  int _gsl_eigen_nonsymm_Z = gsl_eigen_nonsymm_Z( A, eval, Z, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_nonsymm_Z );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_nonsymmv_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_nonsymmv_workspace* _gsl_eigen_nonsymmv_alloc = gsl_eigen_nonsymmv_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_nonsymmv_alloc, dao_gsl_eigen_nonsymmv_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_nonsymmv_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_nonsymmv_workspace* w= (gsl_eigen_nonsymmv_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_nonsymmv_workspace_Typer );

  gsl_eigen_nonsymmv_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_nonsymmv( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector_complex* eval= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_matrix_complex* evec= (gsl_matrix_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_eigen_nonsymmv_workspace* w= (gsl_eigen_nonsymmv_workspace*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_eigen_nonsymmv_workspace_Typer );

  int _gsl_eigen_nonsymmv = gsl_eigen_nonsymmv( A, eval, evec, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_nonsymmv );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_nonsymmv_Z( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector_complex* eval= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_matrix_complex* evec= (gsl_matrix_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_matrix* Z= (gsl_matrix*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_matrix_Typer );
  gsl_eigen_nonsymmv_workspace* w= (gsl_eigen_nonsymmv_workspace*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_eigen_nonsymmv_workspace_Typer );

  int _gsl_eigen_nonsymmv_Z = gsl_eigen_nonsymmv_Z( A, eval, evec, Z, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_nonsymmv_Z );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gensymm_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_gensymm_workspace* _gsl_eigen_gensymm_alloc = gsl_eigen_gensymm_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_gensymm_alloc, dao_gsl_eigen_gensymm_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gensymm_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gensymm_workspace* w= (gsl_eigen_gensymm_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_gensymm_workspace_Typer );

  gsl_eigen_gensymm_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gensymm( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* B= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_eigen_gensymm_workspace* w= (gsl_eigen_gensymm_workspace*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_eigen_gensymm_workspace_Typer );

  int _gsl_eigen_gensymm = gsl_eigen_gensymm( A, B, eval, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_gensymm );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gensymm_standardize( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* B= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_eigen_gensymm_standardize = gsl_eigen_gensymm_standardize( A, B );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_gensymm_standardize );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gensymmv_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_gensymmv_workspace* _gsl_eigen_gensymmv_alloc = gsl_eigen_gensymmv_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_gensymmv_alloc, dao_gsl_eigen_gensymmv_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gensymmv_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gensymmv_workspace* w= (gsl_eigen_gensymmv_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_gensymmv_workspace_Typer );

  gsl_eigen_gensymmv_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gensymmv( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* B= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* evec= (gsl_matrix*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_matrix_Typer );
  gsl_eigen_gensymmv_workspace* w= (gsl_eigen_gensymmv_workspace*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_eigen_gensymmv_workspace_Typer );

  int _gsl_eigen_gensymmv = gsl_eigen_gensymmv( A, B, eval, evec, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_gensymmv );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genherm_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_genherm_workspace* _gsl_eigen_genherm_alloc = gsl_eigen_genherm_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_genherm_alloc, dao_gsl_eigen_genherm_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genherm_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genherm_workspace* w= (gsl_eigen_genherm_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_genherm_workspace_Typer );

  gsl_eigen_genherm_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genherm( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_matrix_complex* B= (gsl_matrix_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_eigen_genherm_workspace* w= (gsl_eigen_genherm_workspace*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_eigen_genherm_workspace_Typer );

  int _gsl_eigen_genherm = gsl_eigen_genherm( A, B, eval, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_genherm );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genherm_standardize( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_matrix_complex* B= (gsl_matrix_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_complex_Typer );

  int _gsl_eigen_genherm_standardize = gsl_eigen_genherm_standardize( A, B );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_genherm_standardize );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genhermv_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_genhermv_workspace* _gsl_eigen_genhermv_alloc = gsl_eigen_genhermv_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_genhermv_alloc, dao_gsl_eigen_genhermv_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genhermv_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genhermv_workspace* w= (gsl_eigen_genhermv_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_genhermv_workspace_Typer );

  gsl_eigen_genhermv_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genhermv( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_matrix_complex* B= (gsl_matrix_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix_complex* evec= (gsl_matrix_complex*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_eigen_genhermv_workspace* w= (gsl_eigen_genhermv_workspace*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_eigen_genhermv_workspace_Typer );

  int _gsl_eigen_genhermv = gsl_eigen_genhermv( A, B, eval, evec, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_genhermv );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gen_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_gen_workspace* _gsl_eigen_gen_alloc = gsl_eigen_gen_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_gen_alloc, dao_gsl_eigen_gen_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gen_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_gen_workspace* w= (gsl_eigen_gen_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_gen_workspace_Typer );

  gsl_eigen_gen_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gen_params( DaoContext *_ctx, DValue *_p[], int _n )
{
  int compute_s= (int) _p[0]->v.i;
  int compute_t= (int) _p[1]->v.i;
  int balance= (int) _p[2]->v.i;
  gsl_eigen_gen_workspace* w= (gsl_eigen_gen_workspace*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_eigen_gen_workspace_Typer );

  gsl_eigen_gen_params( compute_s, compute_t, balance, w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gen( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* B= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector_complex* alpha= (gsl_vector_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_vector* beta= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_eigen_gen_workspace* w= (gsl_eigen_gen_workspace*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_eigen_gen_workspace_Typer );

  int _gsl_eigen_gen = gsl_eigen_gen( A, B, alpha, beta, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_gen );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gen_QZ( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* B= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector_complex* alpha= (gsl_vector_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_vector* beta= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* Z= (gsl_matrix*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_matrix_Typer );
  gsl_eigen_gen_workspace* w= (gsl_eigen_gen_workspace*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_eigen_gen_workspace_Typer );

  int _gsl_eigen_gen_QZ = gsl_eigen_gen_QZ( A, B, alpha, beta, Q, Z, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_gen_QZ );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genv_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_eigen_genv_workspace* _gsl_eigen_genv_alloc = gsl_eigen_genv_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_eigen_genv_alloc, dao_gsl_eigen_genv_workspace_Typer );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genv_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_eigen_genv_workspace* w= (gsl_eigen_genv_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_eigen_genv_workspace_Typer );

  gsl_eigen_genv_free( w );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genv( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* B= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector_complex* alpha= (gsl_vector_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_vector* beta= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix_complex* evec= (gsl_matrix_complex*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_eigen_genv_workspace* w= (gsl_eigen_genv_workspace*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_eigen_genv_workspace_Typer );

  int _gsl_eigen_genv = gsl_eigen_genv( A, B, alpha, beta, evec, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_genv );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genv_QZ( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* B= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector_complex* alpha= (gsl_vector_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_vector* beta= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix_complex* evec= (gsl_matrix_complex*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* Z= (gsl_matrix*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_matrix_Typer );
  gsl_eigen_genv_workspace* w= (gsl_eigen_genv_workspace*) DaoCData_CastData( _p[7]->v.cdata, dao_gsl_eigen_genv_workspace_Typer );

  int _gsl_eigen_genv_QZ = gsl_eigen_genv_QZ( A, B, alpha, beta, evec, Q, Z, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_genv_QZ );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_symmv_sort( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* evec= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_eigen_sort_t sort_type= (gsl_eigen_sort_t) _p[2]->v.i;

  int _gsl_eigen_symmv_sort = gsl_eigen_symmv_sort( eval, evec, sort_type );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_symmv_sort );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_hermv_sort( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix_complex* evec= (gsl_matrix_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_eigen_sort_t sort_type= (gsl_eigen_sort_t) _p[2]->v.i;

  int _gsl_eigen_hermv_sort = gsl_eigen_hermv_sort( eval, evec, sort_type );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_hermv_sort );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_nonsymmv_sort( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector_complex* eval= (gsl_vector_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_matrix_complex* evec= (gsl_matrix_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_eigen_sort_t sort_type= (gsl_eigen_sort_t) _p[2]->v.i;

  int _gsl_eigen_nonsymmv_sort = gsl_eigen_nonsymmv_sort( eval, evec, sort_type );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_nonsymmv_sort );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_gensymmv_sort( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* evec= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_eigen_sort_t sort_type= (gsl_eigen_sort_t) _p[2]->v.i;

  int _gsl_eigen_gensymmv_sort = gsl_eigen_gensymmv_sort( eval, evec, sort_type );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_gensymmv_sort );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genhermv_sort( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix_complex* evec= (gsl_matrix_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_eigen_sort_t sort_type= (gsl_eigen_sort_t) _p[2]->v.i;

  int _gsl_eigen_genhermv_sort = gsl_eigen_genhermv_sort( eval, evec, sort_type );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_genhermv_sort );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_genv_sort( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector_complex* alpha= (gsl_vector_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_vector* beta= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix_complex* evec= (gsl_matrix_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_eigen_sort_t sort_type= (gsl_eigen_sort_t) _p[3]->v.i;

  int _gsl_eigen_genv_sort = gsl_eigen_genv_sort( alpha, beta, evec, sort_type );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_genv_sort );
}
/* gsl_eigen.h */
static void dao__gsl_schur_gen_eigvals( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* B= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  double wr1= (double) _p[2]->v.d;
  double wr2= (double) _p[3]->v.d;
  double wi= (double) _p[4]->v.d;
  double scale1= (double) _p[5]->v.d;
  double scale2= (double) _p[6]->v.d;

  int _gsl_schur_gen_eigvals = gsl_schur_gen_eigvals( A, B, & wr1, & wr2, & wi, & scale1, & scale2 );
  _p[2]->v.d = (double) wr1;
  _p[3]->v.d = (double) wr2;
  _p[4]->v.d = (double) wi;
  _p[5]->v.d = (double) scale1;
  _p[6]->v.d = (double) scale2;
  DaoContext_PutInteger( _ctx, (int) _gsl_schur_gen_eigvals );
}
/* gsl_eigen.h */
static void dao__gsl_schur_solve_equation( DaoContext *_ctx, DValue *_p[], int _n )
{
  double ca= (double) _p[0]->v.d;
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  double z= (double) _p[2]->v.d;
  double d1= (double) _p[3]->v.d;
  double d2= (double) _p[4]->v.d;
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_vector_Typer );
  double s= (double) _p[7]->v.d;
  double xnorm= (double) _p[8]->v.d;
  double smin= (double) _p[9]->v.d;

  int _gsl_schur_solve_equation = gsl_schur_solve_equation( ca, A, z, d1, d2, b, x, & s, & xnorm, smin );
  _p[7]->v.d = (double) s;
  _p[8]->v.d = (double) xnorm;
  DaoContext_PutInteger( _ctx, (int) _gsl_schur_solve_equation );
}
/* gsl_eigen.h */
static void dao__gsl_schur_solve_equation_z( DaoContext *_ctx, DValue *_p[], int _n )
{
  double ca= (double) _p[0]->v.d;
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_complex* z= (gsl_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_complex_Typer );
  double d1= (double) _p[3]->v.d;
  double d2= (double) _p[4]->v.d;
  gsl_vector_complex* b= (gsl_vector_complex*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_vector_complex* x= (gsl_vector_complex*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_vector_complex_Typer );
  double s= (double) _p[7]->v.d;
  double xnorm= (double) _p[8]->v.d;
  double smin= (double) _p[9]->v.d;

  int _gsl_schur_solve_equation_z = gsl_schur_solve_equation_z( ca, A, z, d1, d2, b, x, & s, & xnorm, smin );
  _p[7]->v.d = (double) s;
  _p[8]->v.d = (double) xnorm;
  DaoContext_PutInteger( _ctx, (int) _gsl_schur_solve_equation_z );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_jacobi( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* matrix= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* eval= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* evec= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  unsigned int max_rot= (unsigned int) _p[3]->v.i;
  unsigned int nrot= (unsigned int) _p[4]->v.i;

  int _gsl_eigen_jacobi = gsl_eigen_jacobi( matrix, eval, evec, max_rot, & nrot );
  _p[4]->v.i = (int) nrot;
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_jacobi );
}
/* gsl_eigen.h */
static void dao__gsl_eigen_invert_jacobi( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* matrix= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* ainv= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  unsigned int max_rot= (unsigned int) _p[2]->v.i;

  int _gsl_eigen_invert_jacobi = gsl_eigen_invert_jacobi( matrix, ainv, max_rot );
  DaoContext_PutInteger( _ctx, (int) _gsl_eigen_invert_jacobi );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_matmult( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* B= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* C= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_matmult = gsl_linalg_matmult( A, B, C );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_matmult );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_matmult_mod( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_linalg_matrix_mod_t modA= (gsl_linalg_matrix_mod_t) _p[1]->v.i;
  gsl_matrix* B= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_linalg_matrix_mod_t modB= (gsl_linalg_matrix_mod_t) _p[3]->v.i;
  gsl_matrix* C= (gsl_matrix*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_matmult_mod = gsl_linalg_matmult_mod( A, modA, B, modB, C );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_matmult_mod );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_exponential_ss( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* eA= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_mode_t mode= (gsl_mode_t) _p[2]->v.i;

  int _gsl_linalg_exponential_ss = gsl_linalg_exponential_ss( A, eA, mode );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_exponential_ss );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_householder_transform( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );

  double _gsl_linalg_householder_transform = gsl_linalg_householder_transform( v );
  DaoContext_PutDouble( _ctx, (double) _gsl_linalg_householder_transform );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_householder_transform( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector_complex* v= (gsl_vector_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_complex_Typer );

  gsl_complex _gsl_linalg_complex_householder_transform = gsl_linalg_complex_householder_transform( v );
  DaoContext_CopyCData( _ctx, (void*)& _gsl_linalg_complex_householder_transform, sizeof(gsl_complex), dao_gsl_complex_Typer );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_householder_hm( DaoContext *_ctx, DValue *_p[], int _n )
{
  double tau= (double) _p[0]->v.d;
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_householder_hm = gsl_linalg_householder_hm( tau, v, A );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_householder_hm );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_householder_mh( DaoContext *_ctx, DValue *_p[], int _n )
{
  double tau= (double) _p[0]->v.d;
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_householder_mh = gsl_linalg_householder_mh( tau, v, A );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_householder_mh );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_householder_hv( DaoContext *_ctx, DValue *_p[], int _n )
{
  double tau= (double) _p[0]->v.d;
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* w= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_householder_hv = gsl_linalg_householder_hv( tau, v, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_householder_hv );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_householder_hm1( DaoContext *_ctx, DValue *_p[], int _n )
{
  double tau= (double) _p[0]->v.d;
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_householder_hm1 = gsl_linalg_householder_hm1( tau, A );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_householder_hm1 );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_householder_hm( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_complex* tau= (gsl_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_complex_Typer );
  gsl_vector_complex* v= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_complex_Typer );

  int _gsl_linalg_complex_householder_hm = gsl_linalg_complex_householder_hm( *tau, v, A );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_complex_householder_hm );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_householder_mh( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_complex* tau= (gsl_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_complex_Typer );
  gsl_vector_complex* v= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_complex_Typer );

  int _gsl_linalg_complex_householder_mh = gsl_linalg_complex_householder_mh( *tau, v, A );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_complex_householder_mh );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_householder_hv( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_complex* tau= (gsl_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_complex_Typer );
  gsl_vector_complex* v= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_vector_complex* w= (gsl_vector_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_complex_Typer );

  int _gsl_linalg_complex_householder_hv = gsl_linalg_complex_householder_hv( *tau, v, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_complex_householder_hv );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_hessenberg_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_hessenberg_decomp = gsl_linalg_hessenberg_decomp( A, tau );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_hessenberg_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_hessenberg_unpack( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* H= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* U= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_hessenberg_unpack = gsl_linalg_hessenberg_unpack( H, tau, U );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_hessenberg_unpack );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_hessenberg_unpack_accum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* H= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* U= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_hessenberg_unpack_accum = gsl_linalg_hessenberg_unpack_accum( H, tau, U );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_hessenberg_unpack_accum );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_hessenberg_set_zero( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* H= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_hessenberg_set_zero = gsl_linalg_hessenberg_set_zero( H );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_hessenberg_set_zero );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_hessenberg_submatrix( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* M= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  size_t top= (size_t) _p[2]->v.i;
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_hessenberg_submatrix = gsl_linalg_hessenberg_submatrix( M, A, top, tau );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_hessenberg_submatrix );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_hessenberg( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_hessenberg = gsl_linalg_hessenberg( A, tau );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_hessenberg );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_hesstri_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* B= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* U= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* V= (gsl_matrix*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* work= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_hesstri_decomp = gsl_linalg_hesstri_decomp( A, B, U, V, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_hesstri_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_SV_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* V= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* S= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* work= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_SV_decomp = gsl_linalg_SV_decomp( A, V, S, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_SV_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_SV_decomp_mod( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* X= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* V= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* S= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* work= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_SV_decomp_mod = gsl_linalg_SV_decomp_mod( A, X, V, S, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_SV_decomp_mod );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_SV_decomp_jacobi( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* S= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_SV_decomp_jacobi = gsl_linalg_SV_decomp_jacobi( A, Q, S );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_SV_decomp_jacobi );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_SV_solve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* U= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* S= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_SV_solve = gsl_linalg_SV_solve( U, Q, S, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_SV_solve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LU_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  int signum= (int) _p[2]->v.i;

  int _gsl_linalg_LU_decomp = gsl_linalg_LU_decomp( A, p, & signum );
  _p[2]->v.i = (int) signum;
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LU_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LU_solve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LU= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LU_solve = gsl_linalg_LU_solve( LU, p, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LU_solve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LU_svx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LU= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LU_svx = gsl_linalg_LU_svx( LU, p, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LU_svx );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LU_refine( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* LU= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* residual= (gsl_vector*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LU_refine = gsl_linalg_LU_refine( A, LU, p, b, x, residual );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LU_refine );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LU_invert( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LU= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  gsl_matrix* inverse= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_LU_invert = gsl_linalg_LU_invert( LU, p, inverse );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LU_invert );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LU_det( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LU= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  int signum= (int) _p[1]->v.i;

  double _gsl_linalg_LU_det = gsl_linalg_LU_det( LU, signum );
  DaoContext_PutDouble( _ctx, (double) _gsl_linalg_LU_det );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LU_lndet( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LU= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );

  double _gsl_linalg_LU_lndet = gsl_linalg_LU_lndet( LU );
  DaoContext_PutDouble( _ctx, (double) _gsl_linalg_LU_lndet );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LU_sgndet( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* lu= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  int signum= (int) _p[1]->v.i;

  int _gsl_linalg_LU_sgndet = gsl_linalg_LU_sgndet( lu, signum );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LU_sgndet );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_LU_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  int signum= (int) _p[2]->v.i;

  int _gsl_linalg_complex_LU_decomp = gsl_linalg_complex_LU_decomp( A, p, & signum );
  _p[2]->v.i = (int) signum;
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_complex_LU_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_LU_solve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* LU= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector_complex* b= (gsl_vector_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_vector_complex* x= (gsl_vector_complex*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_complex_Typer );

  int _gsl_linalg_complex_LU_solve = gsl_linalg_complex_LU_solve( LU, p, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_complex_LU_solve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_LU_svx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* LU= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector_complex* x= (gsl_vector_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_complex_Typer );

  int _gsl_linalg_complex_LU_svx = gsl_linalg_complex_LU_svx( LU, p, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_complex_LU_svx );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_LU_refine( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_matrix_complex* LU= (gsl_matrix_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector_complex* b= (gsl_vector_complex*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_vector_complex* x= (gsl_vector_complex*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_vector_complex* residual= (gsl_vector_complex*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_vector_complex_Typer );

  int _gsl_linalg_complex_LU_refine = gsl_linalg_complex_LU_refine( A, LU, p, b, x, residual );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_complex_LU_refine );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_LU_invert( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* LU= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  gsl_matrix_complex* inverse= (gsl_matrix_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_complex_Typer );

  int _gsl_linalg_complex_LU_invert = gsl_linalg_complex_LU_invert( LU, p, inverse );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_complex_LU_invert );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_LU_det( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* LU= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  int signum= (int) _p[1]->v.i;

  gsl_complex _gsl_linalg_complex_LU_det = gsl_linalg_complex_LU_det( LU, signum );
  DaoContext_CopyCData( _ctx, (void*)& _gsl_linalg_complex_LU_det, sizeof(gsl_complex), dao_gsl_complex_Typer );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_LU_lndet( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* LU= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );

  double _gsl_linalg_complex_LU_lndet = gsl_linalg_complex_LU_lndet( LU );
  DaoContext_PutDouble( _ctx, (double) _gsl_linalg_complex_LU_lndet );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_LU_sgndet( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* LU= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  int signum= (int) _p[1]->v.i;

  gsl_complex _gsl_linalg_complex_LU_sgndet = gsl_linalg_complex_LU_sgndet( LU, signum );
  DaoContext_CopyCData( _ctx, (void*)& _gsl_linalg_complex_LU_sgndet, sizeof(gsl_complex), dao_gsl_complex_Typer );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QR_decomp = gsl_linalg_QR_decomp( A, tau );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_solve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QR_solve = gsl_linalg_QR_solve( QR, tau, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_solve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_svx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QR_svx = gsl_linalg_QR_svx( QR, tau, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_svx );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_lssolve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* residual= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QR_lssolve = gsl_linalg_QR_lssolve( QR, tau, b, x, residual );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_lssolve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_QRsolve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* R= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QR_QRsolve = gsl_linalg_QR_QRsolve( Q, R, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_QRsolve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_Rsolve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QR_Rsolve = gsl_linalg_QR_Rsolve( QR, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_Rsolve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_Rsvx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QR_Rsvx = gsl_linalg_QR_Rsvx( QR, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_Rsvx );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_update( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* R= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* w= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QR_update = gsl_linalg_QR_update( Q, R, w, v );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_update );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_QTvec( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QR_QTvec = gsl_linalg_QR_QTvec( QR, tau, v );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_QTvec );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_Qvec( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QR_Qvec = gsl_linalg_QR_Qvec( QR, tau, v );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_Qvec );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_QTmat( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_QR_QTmat = gsl_linalg_QR_QTmat( QR, tau, A );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_QTmat );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QR_unpack( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* R= (gsl_matrix*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_QR_unpack = gsl_linalg_QR_unpack( QR, tau, Q, R );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QR_unpack );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_R_solve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* R= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_R_solve = gsl_linalg_R_solve( R, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_R_solve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_R_svx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* R= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_R_svx = gsl_linalg_R_svx( R, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_R_svx );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QRPT_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  int signum= (int) _p[3]->v.i;
  gsl_vector* norm= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QRPT_decomp = gsl_linalg_QRPT_decomp( A, tau, p, & signum, norm );
  _p[3]->v.i = (int) signum;
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QRPT_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QRPT_decomp2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* q= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* r= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_permutation_Typer );
  int signum= (int) _p[5]->v.i;
  gsl_vector* norm= (gsl_vector*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QRPT_decomp2 = gsl_linalg_QRPT_decomp2( A, q, r, tau, p, & signum, norm );
  _p[5]->v.i = (int) signum;
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QRPT_decomp2 );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QRPT_solve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QRPT_solve = gsl_linalg_QRPT_solve( QR, tau, p, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QRPT_solve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QRPT_svx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QRPT_svx = gsl_linalg_QRPT_svx( QR, tau, p, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QRPT_svx );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QRPT_QRsolve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* R= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QRPT_QRsolve = gsl_linalg_QRPT_QRsolve( Q, R, p, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QRPT_QRsolve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QRPT_Rsolve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QRPT_Rsolve = gsl_linalg_QRPT_Rsolve( QR, p, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QRPT_Rsolve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QRPT_Rsvx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QRPT_Rsvx = gsl_linalg_QRPT_Rsvx( QR, p, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QRPT_Rsvx );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_QRPT_update( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* R= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* u= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_QRPT_update = gsl_linalg_QRPT_update( Q, R, p, u, v );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_QRPT_update );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LQ_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LQ_decomp = gsl_linalg_LQ_decomp( A, tau );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LQ_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LQ_solve_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LQ= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LQ_solve_T = gsl_linalg_LQ_solve_T( LQ, tau, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LQ_solve_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LQ_svx_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LQ= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LQ_svx_T = gsl_linalg_LQ_svx_T( LQ, tau, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LQ_svx_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LQ_lssolve_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LQ= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* residual= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LQ_lssolve_T = gsl_linalg_LQ_lssolve_T( LQ, tau, b, x, residual );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LQ_lssolve_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LQ_Lsolve_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LQ= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LQ_Lsolve_T = gsl_linalg_LQ_Lsolve_T( LQ, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LQ_Lsolve_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LQ_Lsvx_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LQ= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LQ_Lsvx_T = gsl_linalg_LQ_Lsvx_T( LQ, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LQ_Lsvx_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_L_solve_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* L= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_L_solve_T = gsl_linalg_L_solve_T( L, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_L_solve_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LQ_vecQ( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LQ= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LQ_vecQ = gsl_linalg_LQ_vecQ( LQ, tau, v );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LQ_vecQ );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LQ_vecQT( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LQ= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LQ_vecQT = gsl_linalg_LQ_vecQT( LQ, tau, v );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LQ_vecQT );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LQ_unpack( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LQ= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* L= (gsl_matrix*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_LQ_unpack = gsl_linalg_LQ_unpack( LQ, tau, Q, L );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LQ_unpack );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LQ_update( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* R= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* w= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LQ_update = gsl_linalg_LQ_update( Q, R, v, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LQ_update );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_LQ_LQsolve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* L= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_LQ_LQsolve = gsl_linalg_LQ_LQsolve( Q, L, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_LQ_LQsolve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_PTLQ_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  int signum= (int) _p[3]->v.i;
  gsl_vector* norm= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_PTLQ_decomp = gsl_linalg_PTLQ_decomp( A, tau, p, & signum, norm );
  _p[3]->v.i = (int) signum;
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_PTLQ_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_PTLQ_decomp2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* q= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* r= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_permutation_Typer );
  int signum= (int) _p[5]->v.i;
  gsl_vector* norm= (gsl_vector*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_PTLQ_decomp2 = gsl_linalg_PTLQ_decomp2( A, q, r, tau, p, & signum, norm );
  _p[5]->v.i = (int) signum;
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_PTLQ_decomp2 );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_PTLQ_solve_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* QR= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_PTLQ_solve_T = gsl_linalg_PTLQ_solve_T( QR, tau, p, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_PTLQ_solve_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_PTLQ_svx_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LQ= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_PTLQ_svx_T = gsl_linalg_PTLQ_svx_T( LQ, tau, p, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_PTLQ_svx_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_PTLQ_LQsolve_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* L= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_PTLQ_LQsolve_T = gsl_linalg_PTLQ_LQsolve_T( Q, L, p, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_PTLQ_LQsolve_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_PTLQ_Lsolve_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LQ= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_PTLQ_Lsolve_T = gsl_linalg_PTLQ_Lsolve_T( LQ, p, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_PTLQ_Lsolve_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_PTLQ_Lsvx_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* LQ= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_PTLQ_Lsvx_T = gsl_linalg_PTLQ_Lsvx_T( LQ, p, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_PTLQ_Lsvx_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_PTLQ_update( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_matrix* L= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_permutation* p= (gsl_permutation*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_permutation_Typer );
  gsl_vector* v= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* w= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_PTLQ_update = gsl_linalg_PTLQ_update( Q, L, p, v, w );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_PTLQ_update );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_cholesky_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_cholesky_decomp = gsl_linalg_cholesky_decomp( A );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_cholesky_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_cholesky_solve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* cholesky= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_cholesky_solve = gsl_linalg_cholesky_solve( cholesky, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_cholesky_solve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_cholesky_svx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* cholesky= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_cholesky_svx = gsl_linalg_cholesky_svx( cholesky, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_cholesky_svx );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_cholesky_invert( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* cholesky= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_cholesky_invert = gsl_linalg_cholesky_invert( cholesky );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_cholesky_invert );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_cholesky_decomp_unit( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* D= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_cholesky_decomp_unit = gsl_linalg_cholesky_decomp_unit( A, D );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_cholesky_decomp_unit );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_cholesky_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );

  int _gsl_linalg_complex_cholesky_decomp = gsl_linalg_complex_cholesky_decomp( A );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_complex_cholesky_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_cholesky_solve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* cholesky= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_vector_complex* b= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_vector_complex* x= (gsl_vector_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_complex_Typer );

  int _gsl_linalg_complex_cholesky_solve = gsl_linalg_complex_cholesky_solve( cholesky, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_complex_cholesky_solve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_complex_cholesky_svx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* cholesky= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_vector_complex* x= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );

  int _gsl_linalg_complex_cholesky_svx = gsl_linalg_complex_cholesky_svx( cholesky, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_complex_cholesky_svx );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_symmtd_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_symmtd_decomp = gsl_linalg_symmtd_decomp( A, tau );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_symmtd_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_symmtd_unpack( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* Q= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* diag= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* subdiag= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_symmtd_unpack = gsl_linalg_symmtd_unpack( A, tau, Q, diag, subdiag );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_symmtd_unpack );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_symmtd_unpack_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* diag= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* subdiag= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_symmtd_unpack_T = gsl_linalg_symmtd_unpack_T( A, diag, subdiag );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_symmtd_unpack_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_hermtd_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_vector_complex* tau= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );

  int _gsl_linalg_hermtd_decomp = gsl_linalg_hermtd_decomp( A, tau );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_hermtd_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_hermtd_unpack( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_vector_complex* tau= (gsl_vector_complex*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_complex_Typer );
  gsl_matrix_complex* Q= (gsl_matrix_complex*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_vector* diag= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* sudiag= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_hermtd_unpack = gsl_linalg_hermtd_unpack( A, tau, Q, diag, sudiag );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_hermtd_unpack );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_hermtd_unpack_T( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix_complex* A= (gsl_matrix_complex*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_complex_Typer );
  gsl_vector* diag= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* subdiag= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_hermtd_unpack_T = gsl_linalg_hermtd_unpack_T( A, diag, subdiag );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_hermtd_unpack_T );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_HH_solve( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_HH_solve = gsl_linalg_HH_solve( A, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_HH_solve );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_HH_svx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_HH_svx = gsl_linalg_HH_svx( A, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_HH_svx );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_solve_symm_tridiag( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* diag= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* offdiag= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_solve_symm_tridiag = gsl_linalg_solve_symm_tridiag( diag, offdiag, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_solve_symm_tridiag );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_solve_tridiag( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* diag= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* abovediag= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* belowdiag= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_solve_tridiag = gsl_linalg_solve_tridiag( diag, abovediag, belowdiag, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_solve_tridiag );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_solve_symm_cyc_tridiag( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* diag= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* offdiag= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_solve_symm_cyc_tridiag = gsl_linalg_solve_symm_cyc_tridiag( diag, offdiag, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_solve_symm_cyc_tridiag );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_solve_cyc_tridiag( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* diag= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* abovediag= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* belowdiag= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* b= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_solve_cyc_tridiag = gsl_linalg_solve_cyc_tridiag( diag, abovediag, belowdiag, b, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_solve_cyc_tridiag );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_bidiag_decomp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau_U= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* tau_V= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_bidiag_decomp = gsl_linalg_bidiag_decomp( A, tau_U, tau_V );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_bidiag_decomp );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_bidiag_unpack( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau_U= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* U= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau_V= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* V= (gsl_matrix*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* diag= (gsl_vector*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* superdiag= (gsl_vector*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_bidiag_unpack = gsl_linalg_bidiag_unpack( A, tau_U, U, tau_V, V, diag, superdiag );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_bidiag_unpack );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_bidiag_unpack2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* tau_U= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* tau_V= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* V= (gsl_matrix*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_linalg_bidiag_unpack2 = gsl_linalg_bidiag_unpack2( A, tau_U, tau_V, V );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_bidiag_unpack2 );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_bidiag_unpack_B( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* diag= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* superdiag= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_bidiag_unpack_B = gsl_linalg_bidiag_unpack_B( A, diag, superdiag );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_bidiag_unpack_B );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_balance_matrix( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* D= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_balance_matrix = gsl_linalg_balance_matrix( A, D );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_balance_matrix );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_balance_accum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* D= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_balance_accum = gsl_linalg_balance_accum( A, D );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_balance_accum );
}
/* gsl_linalg.h */
static void dao__gsl_linalg_balance_columns( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* A= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* D= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_linalg_balance_columns = gsl_linalg_balance_columns( A, D );
  DaoContext_PutInteger( _ctx, (int) _gsl_linalg_balance_columns );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer_type* T= (gsl_min_fminimizer_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_type_Typer );

  gsl_min_fminimizer* _gsl_min_fminimizer_alloc = gsl_min_fminimizer_alloc( T );
  DaoContext_WrapCData( _ctx, (void*) _gsl_min_fminimizer_alloc, dao_gsl_min_fminimizer_Typer );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );

  gsl_min_fminimizer_free( s );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_function_Typer );
  double x_minimum= (double) _p[2]->v.d;
  double x_lower= (double) _p[3]->v.d;
  double x_upper= (double) _p[4]->v.d;

  int _gsl_min_fminimizer_set = gsl_min_fminimizer_set( s, f, x_minimum, x_lower, x_upper );
  DaoContext_PutInteger( _ctx, (int) _gsl_min_fminimizer_set );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_set_with_values( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_function_Typer );
  double x_minimum= (double) _p[2]->v.d;
  double f_minimum= (double) _p[3]->v.d;
  double x_lower= (double) _p[4]->v.d;
  double f_lower= (double) _p[5]->v.d;
  double x_upper= (double) _p[6]->v.d;
  double f_upper= (double) _p[7]->v.d;

  int _gsl_min_fminimizer_set_with_values = gsl_min_fminimizer_set_with_values( s, f, x_minimum, f_minimum, x_lower, f_lower, x_upper, f_upper );
  DaoContext_PutInteger( _ctx, (int) _gsl_min_fminimizer_set_with_values );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_iterate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );

  int _gsl_min_fminimizer_iterate = gsl_min_fminimizer_iterate( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_min_fminimizer_iterate );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );

  const char* _gsl_min_fminimizer_name = gsl_min_fminimizer_name( s );
  DaoContext_PutMBString( _ctx, (char*) _gsl_min_fminimizer_name );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_x_minimum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );

  double _gsl_min_fminimizer_x_minimum = gsl_min_fminimizer_x_minimum( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_min_fminimizer_x_minimum );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_x_lower( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );

  double _gsl_min_fminimizer_x_lower = gsl_min_fminimizer_x_lower( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_min_fminimizer_x_lower );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_x_upper( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );

  double _gsl_min_fminimizer_x_upper = gsl_min_fminimizer_x_upper( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_min_fminimizer_x_upper );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_f_minimum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );

  double _gsl_min_fminimizer_f_minimum = gsl_min_fminimizer_f_minimum( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_min_fminimizer_f_minimum );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_f_lower( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );

  double _gsl_min_fminimizer_f_lower = gsl_min_fminimizer_f_lower( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_min_fminimizer_f_lower );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_f_upper( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );

  double _gsl_min_fminimizer_f_upper = gsl_min_fminimizer_f_upper( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_min_fminimizer_f_upper );
}
/* gsl_min.h */
static void dao__gsl_min_fminimizer_minimum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_min_fminimizer* s= (gsl_min_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_min_fminimizer_Typer );

  double _gsl_min_fminimizer_minimum = gsl_min_fminimizer_minimum( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_min_fminimizer_minimum );
}
/* gsl_min.h */
static void dao__gsl_min_test_interval( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x_lower= (double) _p[0]->v.d;
  double x_upper= (double) _p[1]->v.d;
  double epsabs= (double) _p[2]->v.d;
  double epsrel= (double) _p[3]->v.d;

  int _gsl_min_test_interval = gsl_min_test_interval( x_lower, x_upper, epsabs, epsrel );
  DaoContext_PutInteger( _ctx, (int) _gsl_min_test_interval );
}
/* gsl_min.h */
static void dao__gsl_min_find_bracket( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double x_minimum= (double) _p[1]->v.d;
  double f_minimum= (double) _p[2]->v.d;
  double x_lower= (double) _p[3]->v.d;
  double f_lower= (double) _p[4]->v.d;
  double x_upper= (double) _p[5]->v.d;
  double* f_upper= (double*) DaoArray_ToDouble( _p[6]->v.array );
  size_t eval_max= (size_t) _p[7]->v.i;

  int _gsl_min_find_bracket = gsl_min_find_bracket( f, & x_minimum, & f_minimum, & x_lower, & f_lower, & x_upper, f_upper, eval_max );
  _p[1]->v.d = (double) x_minimum;
  _p[2]->v.d = (double) f_minimum;
  _p[3]->v.d = (double) x_lower;
  _p[4]->v.d = (double) f_lower;
  _p[5]->v.d = (double) x_upper;
  DaoContext_PutInteger( _ctx, (int) _gsl_min_find_bracket );
}
/* gsl_monte_plain.h */
static void dao__gsl_monte_plain_integrate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_function* f= (gsl_monte_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_monte_function_Typer );
  double* xl= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* xu= (double*) DaoArray_ToDouble( _p[2]->v.array );
  size_t dim= (size_t) _p[3]->v.i;
  size_t calls= (size_t) _p[4]->v.i;
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_rng_Typer );
  gsl_monte_plain_state* state= (gsl_monte_plain_state*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_monte_plain_state_Typer );
  double result= (double) _p[7]->v.d;
  double abserr= (double) _p[8]->v.d;

  int _gsl_monte_plain_integrate = gsl_monte_plain_integrate( f, xl, xu, dim, calls, r, state, & result, & abserr );
  _p[7]->v.d = (double) result;
  _p[8]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_monte_plain_integrate );
}
/* gsl_monte_plain.h */
static void dao__gsl_monte_plain_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t dim= (size_t) _p[0]->v.i;

  gsl_monte_plain_state* _gsl_monte_plain_alloc = gsl_monte_plain_alloc( dim );
  DaoContext_WrapCData( _ctx, (void*) _gsl_monte_plain_alloc, dao_gsl_monte_plain_state_Typer );
}
/* gsl_monte_plain.h */
static void dao__gsl_monte_plain_init( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_plain_state* state= (gsl_monte_plain_state*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_monte_plain_state_Typer );

  int _gsl_monte_plain_init = gsl_monte_plain_init( state );
  DaoContext_PutInteger( _ctx, (int) _gsl_monte_plain_init );
}
/* gsl_monte_plain.h */
static void dao__gsl_monte_plain_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_plain_state* state= (gsl_monte_plain_state*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_monte_plain_state_Typer );

  gsl_monte_plain_free( state );
}
/* gsl_monte_vegas.h */
static void dao__gsl_monte_vegas_integrate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_function* f= (gsl_monte_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_monte_function_Typer );
  double* xl= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* xu= (double*) DaoArray_ToDouble( _p[2]->v.array );
  size_t dim= (size_t) _p[3]->v.i;
  size_t calls= (size_t) _p[4]->v.i;
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_rng_Typer );
  gsl_monte_vegas_state* state= (gsl_monte_vegas_state*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_monte_vegas_state_Typer );
  double result= (double) _p[7]->v.d;
  double abserr= (double) _p[8]->v.d;

  int _gsl_monte_vegas_integrate = gsl_monte_vegas_integrate( f, xl, xu, dim, calls, r, state, & result, & abserr );
  _p[7]->v.d = (double) result;
  _p[8]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_monte_vegas_integrate );
}
/* gsl_monte_vegas.h */
static void dao__gsl_monte_vegas_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t dim= (size_t) _p[0]->v.i;

  gsl_monte_vegas_state* _gsl_monte_vegas_alloc = gsl_monte_vegas_alloc( dim );
  DaoContext_WrapCData( _ctx, (void*) _gsl_monte_vegas_alloc, dao_gsl_monte_vegas_state_Typer );
}
/* gsl_monte_vegas.h */
static void dao__gsl_monte_vegas_init( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state* state= (gsl_monte_vegas_state*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_monte_vegas_state_Typer );

  int _gsl_monte_vegas_init = gsl_monte_vegas_init( state );
  DaoContext_PutInteger( _ctx, (int) _gsl_monte_vegas_init );
}
/* gsl_monte_vegas.h */
static void dao__gsl_monte_vegas_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_vegas_state* state= (gsl_monte_vegas_state*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_monte_vegas_state_Typer );

  gsl_monte_vegas_free( state );
}
/* gsl_multifit.h */
static void dao__gsl_multifit_linear_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;
  size_t p= (size_t) _p[1]->v.i;

  gsl_multifit_linear_workspace* _gsl_multifit_linear_alloc = gsl_multifit_linear_alloc( n, p );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multifit_linear_alloc, dao_gsl_multifit_linear_workspace_Typer );
}
/* gsl_multifit.h */
static void dao__gsl_multifit_linear_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_linear_workspace* work= (gsl_multifit_linear_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_linear_workspace_Typer );

  gsl_multifit_linear_free( work );
}
/* gsl_multifit.h */
static void dao__gsl_multifit_linear( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* X= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* y= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* c= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* cov= (gsl_matrix*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_matrix_Typer );
  double chisq= (double) _p[4]->v.d;
  gsl_multifit_linear_workspace* work= (gsl_multifit_linear_workspace*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_multifit_linear_workspace_Typer );

  int _gsl_multifit_linear = gsl_multifit_linear( X, y, c, cov, & chisq, work );
  _p[4]->v.d = (double) chisq;
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_linear );
}
/* gsl_multifit.h */
static void dao__gsl_multifit_linear_svd( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* X= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* y= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  double tol= (double) _p[2]->v.d;
  size_t rank= (size_t) _p[3]->v.i;
  gsl_vector* c= (gsl_vector*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* cov= (gsl_matrix*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_matrix_Typer );
  double chisq= (double) _p[6]->v.d;
  gsl_multifit_linear_workspace* work= (gsl_multifit_linear_workspace*) DaoCData_CastData( _p[7]->v.cdata, dao_gsl_multifit_linear_workspace_Typer );

  int _gsl_multifit_linear_svd = gsl_multifit_linear_svd( X, y, tol, & rank, c, cov, & chisq, work );
  _p[3]->v.i = (int) rank;
  _p[6]->v.d = (double) chisq;
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_linear_svd );
}
/* gsl_multifit.h */
static void dao__gsl_multifit_wlinear( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* X= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* w= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* y= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* c= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* cov= (gsl_matrix*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_matrix_Typer );
  double chisq= (double) _p[5]->v.d;
  gsl_multifit_linear_workspace* work= (gsl_multifit_linear_workspace*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_multifit_linear_workspace_Typer );

  int _gsl_multifit_wlinear = gsl_multifit_wlinear( X, w, y, c, cov, & chisq, work );
  _p[5]->v.d = (double) chisq;
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_wlinear );
}
/* gsl_multifit.h */
static void dao__gsl_multifit_wlinear_svd( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* X= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* w= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* y= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  double tol= (double) _p[3]->v.d;
  size_t rank= (size_t) _p[4]->v.i;
  gsl_vector* c= (gsl_vector*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* cov= (gsl_matrix*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_matrix_Typer );
  double chisq= (double) _p[7]->v.d;
  gsl_multifit_linear_workspace* work= (gsl_multifit_linear_workspace*) DaoCData_CastData( _p[8]->v.cdata, dao_gsl_multifit_linear_workspace_Typer );

  int _gsl_multifit_wlinear_svd = gsl_multifit_wlinear_svd( X, w, y, tol, & rank, c, cov, & chisq, work );
  _p[4]->v.i = (int) rank;
  _p[7]->v.d = (double) chisq;
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_wlinear_svd );
}
/* gsl_multifit.h */
static void dao__gsl_multifit_linear_est( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* c= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_matrix* cov= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );
  double y= (double) _p[3]->v.d;
  double y_err= (double) _p[4]->v.d;

  int _gsl_multifit_linear_est = gsl_multifit_linear_est( x, c, cov, & y, & y_err );
  _p[3]->v.d = (double) y;
  _p[4]->v.d = (double) y_err;
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_linear_est );
}
/* gsl_multifit.h */
static void dao__gsl_multifit_linear_residuals( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* X= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* y= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* c= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* r= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_multifit_linear_residuals = gsl_multifit_linear_residuals( X, y, c, r );
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_linear_residuals );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_gradient( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* J= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  gsl_vector* f= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* g= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_multifit_gradient = gsl_multifit_gradient( J, f, g );
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_gradient );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_covar( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_matrix* J= (gsl_matrix*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_matrix_Typer );
  double epsrel= (double) _p[1]->v.d;
  gsl_matrix* covar= (gsl_matrix*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_multifit_covar = gsl_multifit_covar( J, epsrel, covar );
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_covar );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver_type* T= (gsl_multifit_fsolver_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fsolver_type_Typer );
  size_t n= (size_t) _p[1]->v.i;
  size_t p= (size_t) _p[2]->v.i;

  gsl_multifit_fsolver* _gsl_multifit_fsolver_alloc = gsl_multifit_fsolver_alloc( T, n, p );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multifit_fsolver_alloc, dao_gsl_multifit_fsolver_Typer );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fsolver_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver* s= (gsl_multifit_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fsolver_Typer );

  gsl_multifit_fsolver_free( s );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fsolver_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver* s= (gsl_multifit_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fsolver_Typer );
  gsl_multifit_function* f= (gsl_multifit_function*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_multifit_function_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_multifit_fsolver_set = gsl_multifit_fsolver_set( s, f, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_fsolver_set );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver* s= (gsl_multifit_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fsolver_Typer );

  int _gsl_multifit_fsolver_iterate = gsl_multifit_fsolver_iterate( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_fsolver_iterate );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fsolver_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver* s= (gsl_multifit_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fsolver_Typer );

  const char* _gsl_multifit_fsolver_name = gsl_multifit_fsolver_name( s );
  DaoContext_PutMBString( _ctx, (char*) _gsl_multifit_fsolver_name );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fsolver_position( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fsolver* s= (gsl_multifit_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fsolver_Typer );

  gsl_vector* _gsl_multifit_fsolver_position = gsl_multifit_fsolver_position( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multifit_fsolver_position, dao_gsl_vector_Typer );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fdfsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver_type* T= (gsl_multifit_fdfsolver_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fdfsolver_type_Typer );
  size_t n= (size_t) _p[1]->v.i;
  size_t p= (size_t) _p[2]->v.i;

  gsl_multifit_fdfsolver* _gsl_multifit_fdfsolver_alloc = gsl_multifit_fdfsolver_alloc( T, n, p );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multifit_fdfsolver_alloc, dao_gsl_multifit_fdfsolver_Typer );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fdfsolver_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver* s= (gsl_multifit_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fdfsolver_Typer );
  gsl_multifit_function_fdf* fdf= (gsl_multifit_function_fdf*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_multifit_function_fdf_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_multifit_fdfsolver_set = gsl_multifit_fdfsolver_set( s, fdf, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_fdfsolver_set );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fdfsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver* s= (gsl_multifit_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fdfsolver_Typer );

  int _gsl_multifit_fdfsolver_iterate = gsl_multifit_fdfsolver_iterate( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_fdfsolver_iterate );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fdfsolver_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver* s= (gsl_multifit_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fdfsolver_Typer );

  gsl_multifit_fdfsolver_free( s );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fdfsolver_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver* s= (gsl_multifit_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fdfsolver_Typer );

  const char* _gsl_multifit_fdfsolver_name = gsl_multifit_fdfsolver_name( s );
  DaoContext_PutMBString( _ctx, (char*) _gsl_multifit_fdfsolver_name );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_fdfsolver_position( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multifit_fdfsolver* s= (gsl_multifit_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multifit_fdfsolver_Typer );

  gsl_vector* _gsl_multifit_fdfsolver_position = gsl_multifit_fdfsolver_position( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multifit_fdfsolver_position, dao_gsl_vector_Typer );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_test_delta( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* dx= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  double epsabs= (double) _p[2]->v.d;
  double epsrel= (double) _p[3]->v.d;

  int _gsl_multifit_test_delta = gsl_multifit_test_delta( dx, x, epsabs, epsrel );
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_test_delta );
}
/* gsl_multifit_nlin.h */
static void dao__gsl_multifit_test_gradient( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* g= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  double epsabs= (double) _p[1]->v.d;

  int _gsl_multifit_test_gradient = gsl_multifit_test_gradient( g, epsabs );
  DaoContext_PutInteger( _ctx, (int) _gsl_multifit_test_gradient );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_diff( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_function* f= (gsl_multimin_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_function_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* g= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_multimin_diff = gsl_multimin_diff( f, x, g );
  DaoContext_PutInteger( _ctx, (int) _gsl_multimin_diff );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fminimizer_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer_type* T= (gsl_multimin_fminimizer_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fminimizer_type_Typer );
  size_t n= (size_t) _p[1]->v.i;

  gsl_multimin_fminimizer* _gsl_multimin_fminimizer_alloc = gsl_multimin_fminimizer_alloc( T, n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multimin_fminimizer_alloc, dao_gsl_multimin_fminimizer_Typer );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fminimizer_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer* s= (gsl_multimin_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fminimizer_Typer );
  gsl_multimin_function* f= (gsl_multimin_function*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_multimin_function_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* step_size= (gsl_vector*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_multimin_fminimizer_set = gsl_multimin_fminimizer_set( s, f, x, step_size );
  DaoContext_PutInteger( _ctx, (int) _gsl_multimin_fminimizer_set );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fminimizer_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer* s= (gsl_multimin_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fminimizer_Typer );

  gsl_multimin_fminimizer_free( s );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fminimizer_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer* s= (gsl_multimin_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fminimizer_Typer );

  const char* _gsl_multimin_fminimizer_name = gsl_multimin_fminimizer_name( s );
  DaoContext_PutMBString( _ctx, (char*) _gsl_multimin_fminimizer_name );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fminimizer_iterate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer* s= (gsl_multimin_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fminimizer_Typer );

  int _gsl_multimin_fminimizer_iterate = gsl_multimin_fminimizer_iterate( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_multimin_fminimizer_iterate );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fminimizer_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer* s= (gsl_multimin_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fminimizer_Typer );

  gsl_vector* _gsl_multimin_fminimizer_x = gsl_multimin_fminimizer_x( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multimin_fminimizer_x, dao_gsl_vector_Typer );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fminimizer_minimum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer* s= (gsl_multimin_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fminimizer_Typer );

  double _gsl_multimin_fminimizer_minimum = gsl_multimin_fminimizer_minimum( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_multimin_fminimizer_minimum );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fminimizer_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fminimizer* s= (gsl_multimin_fminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fminimizer_Typer );

  double _gsl_multimin_fminimizer_size = gsl_multimin_fminimizer_size( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_multimin_fminimizer_size );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_test_gradient( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* g= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  double epsabs= (double) _p[1]->v.d;

  int _gsl_multimin_test_gradient = gsl_multimin_test_gradient( g, epsabs );
  DaoContext_PutInteger( _ctx, (int) _gsl_multimin_test_gradient );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_test_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  double size= (double) _p[0]->v.d;
  double epsabs= (double) _p[1]->v.d;

  int _gsl_multimin_test_size = gsl_multimin_test_size( size, epsabs );
  DaoContext_PutInteger( _ctx, (int) _gsl_multimin_test_size );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fdfminimizer_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer_type* T= (gsl_multimin_fdfminimizer_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fdfminimizer_type_Typer );
  size_t n= (size_t) _p[1]->v.i;

  gsl_multimin_fdfminimizer* _gsl_multimin_fdfminimizer_alloc = gsl_multimin_fdfminimizer_alloc( T, n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multimin_fdfminimizer_alloc, dao_gsl_multimin_fdfminimizer_Typer );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fdfminimizer_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer* s= (gsl_multimin_fdfminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fdfminimizer_Typer );
  gsl_multimin_function_fdf* fdf= (gsl_multimin_function_fdf*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_multimin_function_fdf_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  double step_size= (double) _p[3]->v.d;
  double tol= (double) _p[4]->v.d;

  int _gsl_multimin_fdfminimizer_set = gsl_multimin_fdfminimizer_set( s, fdf, x, step_size, tol );
  DaoContext_PutInteger( _ctx, (int) _gsl_multimin_fdfminimizer_set );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fdfminimizer_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer* s= (gsl_multimin_fdfminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fdfminimizer_Typer );

  gsl_multimin_fdfminimizer_free( s );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fdfminimizer_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer* s= (gsl_multimin_fdfminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fdfminimizer_Typer );

  const char* _gsl_multimin_fdfminimizer_name = gsl_multimin_fdfminimizer_name( s );
  DaoContext_PutMBString( _ctx, (char*) _gsl_multimin_fdfminimizer_name );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fdfminimizer_iterate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer* s= (gsl_multimin_fdfminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fdfminimizer_Typer );

  int _gsl_multimin_fdfminimizer_iterate = gsl_multimin_fdfminimizer_iterate( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_multimin_fdfminimizer_iterate );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fdfminimizer_restart( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer* s= (gsl_multimin_fdfminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fdfminimizer_Typer );

  int _gsl_multimin_fdfminimizer_restart = gsl_multimin_fdfminimizer_restart( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_multimin_fdfminimizer_restart );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fdfminimizer_x( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer* s= (gsl_multimin_fdfminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fdfminimizer_Typer );

  gsl_vector* _gsl_multimin_fdfminimizer_x = gsl_multimin_fdfminimizer_x( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multimin_fdfminimizer_x, dao_gsl_vector_Typer );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fdfminimizer_dx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer* s= (gsl_multimin_fdfminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fdfminimizer_Typer );

  gsl_vector* _gsl_multimin_fdfminimizer_dx = gsl_multimin_fdfminimizer_dx( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multimin_fdfminimizer_dx, dao_gsl_vector_Typer );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fdfminimizer_gradient( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer* s= (gsl_multimin_fdfminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fdfminimizer_Typer );

  gsl_vector* _gsl_multimin_fdfminimizer_gradient = gsl_multimin_fdfminimizer_gradient( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multimin_fdfminimizer_gradient, dao_gsl_vector_Typer );
}
/* gsl_multimin.h */
static void dao__gsl_multimin_fdfminimizer_minimum( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multimin_fdfminimizer* s= (gsl_multimin_fdfminimizer*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multimin_fdfminimizer_Typer );

  double _gsl_multimin_fdfminimizer_minimum = gsl_multimin_fdfminimizer_minimum( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_multimin_fdfminimizer_minimum );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fdjacobian( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_function* F= (gsl_multiroot_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_function_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* f= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );
  double epsrel= (double) _p[3]->v.d;
  gsl_matrix* jacobian= (gsl_matrix*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_matrix_Typer );

  int _gsl_multiroot_fdjacobian = gsl_multiroot_fdjacobian( F, x, f, epsrel, jacobian );
  DaoContext_PutInteger( _ctx, (int) _gsl_multiroot_fdjacobian );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver_type* T= (gsl_multiroot_fsolver_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fsolver_type_Typer );
  size_t n= (size_t) _p[1]->v.i;

  gsl_multiroot_fsolver* _gsl_multiroot_fsolver_alloc = gsl_multiroot_fsolver_alloc( T, n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multiroot_fsolver_alloc, dao_gsl_multiroot_fsolver_Typer );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fsolver_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver* s= (gsl_multiroot_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fsolver_Typer );

  gsl_multiroot_fsolver_free( s );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fsolver_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver* s= (gsl_multiroot_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fsolver_Typer );
  gsl_multiroot_function* f= (gsl_multiroot_function*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_multiroot_function_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_multiroot_fsolver_set = gsl_multiroot_fsolver_set( s, f, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_multiroot_fsolver_set );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver* s= (gsl_multiroot_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fsolver_Typer );

  int _gsl_multiroot_fsolver_iterate = gsl_multiroot_fsolver_iterate( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_multiroot_fsolver_iterate );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fsolver_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver* s= (gsl_multiroot_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fsolver_Typer );

  const char* _gsl_multiroot_fsolver_name = gsl_multiroot_fsolver_name( s );
  DaoContext_PutMBString( _ctx, (char*) _gsl_multiroot_fsolver_name );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fsolver_root( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver* s= (gsl_multiroot_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fsolver_Typer );

  gsl_vector* _gsl_multiroot_fsolver_root = gsl_multiroot_fsolver_root( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multiroot_fsolver_root, dao_gsl_vector_Typer );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fsolver_dx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver* s= (gsl_multiroot_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fsolver_Typer );

  gsl_vector* _gsl_multiroot_fsolver_dx = gsl_multiroot_fsolver_dx( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multiroot_fsolver_dx, dao_gsl_vector_Typer );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fsolver_f( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fsolver* s= (gsl_multiroot_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fsolver_Typer );

  gsl_vector* _gsl_multiroot_fsolver_f = gsl_multiroot_fsolver_f( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multiroot_fsolver_f, dao_gsl_vector_Typer );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fdfsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver_type* T= (gsl_multiroot_fdfsolver_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fdfsolver_type_Typer );
  size_t n= (size_t) _p[1]->v.i;

  gsl_multiroot_fdfsolver* _gsl_multiroot_fdfsolver_alloc = gsl_multiroot_fdfsolver_alloc( T, n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multiroot_fdfsolver_alloc, dao_gsl_multiroot_fdfsolver_Typer );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fdfsolver_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver* s= (gsl_multiroot_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fdfsolver_Typer );
  gsl_multiroot_function_fdf* fdf= (gsl_multiroot_function_fdf*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_multiroot_function_fdf_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_vector_Typer );

  int _gsl_multiroot_fdfsolver_set = gsl_multiroot_fdfsolver_set( s, fdf, x );
  DaoContext_PutInteger( _ctx, (int) _gsl_multiroot_fdfsolver_set );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fdfsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver* s= (gsl_multiroot_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fdfsolver_Typer );

  int _gsl_multiroot_fdfsolver_iterate = gsl_multiroot_fdfsolver_iterate( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_multiroot_fdfsolver_iterate );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fdfsolver_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver* s= (gsl_multiroot_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fdfsolver_Typer );

  gsl_multiroot_fdfsolver_free( s );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fdfsolver_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver* s= (gsl_multiroot_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fdfsolver_Typer );

  const char* _gsl_multiroot_fdfsolver_name = gsl_multiroot_fdfsolver_name( s );
  DaoContext_PutMBString( _ctx, (char*) _gsl_multiroot_fdfsolver_name );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fdfsolver_root( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver* s= (gsl_multiroot_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fdfsolver_Typer );

  gsl_vector* _gsl_multiroot_fdfsolver_root = gsl_multiroot_fdfsolver_root( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multiroot_fdfsolver_root, dao_gsl_vector_Typer );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fdfsolver_dx( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver* s= (gsl_multiroot_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fdfsolver_Typer );

  gsl_vector* _gsl_multiroot_fdfsolver_dx = gsl_multiroot_fdfsolver_dx( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multiroot_fdfsolver_dx, dao_gsl_vector_Typer );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_fdfsolver_f( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_multiroot_fdfsolver* s= (gsl_multiroot_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_multiroot_fdfsolver_Typer );

  gsl_vector* _gsl_multiroot_fdfsolver_f = gsl_multiroot_fdfsolver_f( s );
  DaoContext_WrapCData( _ctx, (void*) _gsl_multiroot_fdfsolver_f, dao_gsl_vector_Typer );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_test_delta( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* dx= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  gsl_vector* x= (gsl_vector*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_vector_Typer );
  double epsabs= (double) _p[2]->v.d;
  double epsrel= (double) _p[3]->v.d;

  int _gsl_multiroot_test_delta = gsl_multiroot_test_delta( dx, x, epsabs, epsrel );
  DaoContext_PutInteger( _ctx, (int) _gsl_multiroot_test_delta );
}
/* gsl_multiroots.h */
static void dao__gsl_multiroot_test_residual( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_vector* f= (gsl_vector*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_vector_Typer );
  double epsabs= (double) _p[1]->v.d;

  int _gsl_multiroot_test_residual = gsl_multiroot_test_residual( f, epsabs );
  DaoContext_PutInteger( _ctx, (int) _gsl_multiroot_test_residual );
}
/* gsl_randist.h */
static void dao__gsl_ran_bernoulli( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double p= (double) _p[1]->v.d;

  unsigned int _gsl_ran_bernoulli = gsl_ran_bernoulli( r, p );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_bernoulli );
}
/* gsl_randist.h */
static void dao__gsl_ran_bernoulli_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;

  double _gsl_ran_bernoulli_pdf = gsl_ran_bernoulli_pdf( k, p );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_bernoulli_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_beta( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_beta = gsl_ran_beta( r, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_beta );
}
/* gsl_randist.h */
static void dao__gsl_ran_beta_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_beta_pdf = gsl_ran_beta_pdf( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_beta_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_binomial( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double p= (double) _p[1]->v.d;
  unsigned int n= (unsigned int) _p[2]->v.i;

  unsigned int _gsl_ran_binomial = gsl_ran_binomial( r, p, n );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_binomial );
}
/* gsl_randist.h */
static void dao__gsl_ran_binomial_knuth( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double p= (double) _p[1]->v.d;
  unsigned int n= (unsigned int) _p[2]->v.i;

  unsigned int _gsl_ran_binomial_knuth = gsl_ran_binomial_knuth( r, p, n );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_binomial_knuth );
}
/* gsl_randist.h */
static void dao__gsl_ran_binomial_tpe( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double p= (double) _p[1]->v.d;
  unsigned int n= (unsigned int) _p[2]->v.i;

  unsigned int _gsl_ran_binomial_tpe = gsl_ran_binomial_tpe( r, p, n );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_binomial_tpe );
}
/* gsl_randist.h */
static void dao__gsl_ran_binomial_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;
  unsigned int n= (unsigned int) _p[2]->v.i;

  double _gsl_ran_binomial_pdf = gsl_ran_binomial_pdf( k, p, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_binomial_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_exponential( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double mu= (double) _p[1]->v.d;

  double _gsl_ran_exponential = gsl_ran_exponential( r, mu );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_exponential );
}
/* gsl_randist.h */
static void dao__gsl_ran_exponential_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double mu= (double) _p[1]->v.d;

  double _gsl_ran_exponential_pdf = gsl_ran_exponential_pdf( x, mu );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_exponential_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_exppow( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_exppow = gsl_ran_exppow( r, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_exppow );
}
/* gsl_randist.h */
static void dao__gsl_ran_exppow_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_exppow_pdf = gsl_ran_exppow_pdf( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_exppow_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_cauchy( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;

  double _gsl_ran_cauchy = gsl_ran_cauchy( r, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_cauchy );
}
/* gsl_randist.h */
static void dao__gsl_ran_cauchy_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_ran_cauchy_pdf = gsl_ran_cauchy_pdf( x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_cauchy_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_chisq( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double nu= (double) _p[1]->v.d;

  double _gsl_ran_chisq = gsl_ran_chisq( r, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_chisq );
}
/* gsl_randist.h */
static void dao__gsl_ran_chisq_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double nu= (double) _p[1]->v.d;

  double _gsl_ran_chisq_pdf = gsl_ran_chisq_pdf( x, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_chisq_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_dirichlet( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  size_t K= (size_t) _p[1]->v.i;
  double* alpha= (double*) DaoArray_ToDouble( _p[2]->v.array );
  double* theta= (double*) DaoArray_ToDouble( _p[3]->v.array );

  gsl_ran_dirichlet( r, K, alpha, theta );
}
/* gsl_randist.h */
static void dao__gsl_ran_dirichlet_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t K= (size_t) _p[0]->v.i;
  double* alpha= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* theta= (double*) DaoArray_ToDouble( _p[2]->v.array );

  double _gsl_ran_dirichlet_pdf = gsl_ran_dirichlet_pdf( K, alpha, theta );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_dirichlet_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_dirichlet_lnpdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t K= (size_t) _p[0]->v.i;
  double* alpha= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* theta= (double*) DaoArray_ToDouble( _p[2]->v.array );

  double _gsl_ran_dirichlet_lnpdf = gsl_ran_dirichlet_lnpdf( K, alpha, theta );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_dirichlet_lnpdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_erlang( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double n= (double) _p[2]->v.d;

  double _gsl_ran_erlang = gsl_ran_erlang( r, a, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_erlang );
}
/* gsl_randist.h */
static void dao__gsl_ran_erlang_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double n= (double) _p[2]->v.d;

  double _gsl_ran_erlang_pdf = gsl_ran_erlang_pdf( x, a, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_erlang_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_fdist( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double nu1= (double) _p[1]->v.d;
  double nu2= (double) _p[2]->v.d;

  double _gsl_ran_fdist = gsl_ran_fdist( r, nu1, nu2 );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_fdist );
}
/* gsl_randist.h */
static void dao__gsl_ran_fdist_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double nu1= (double) _p[1]->v.d;
  double nu2= (double) _p[2]->v.d;

  double _gsl_ran_fdist_pdf = gsl_ran_fdist_pdf( x, nu1, nu2 );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_fdist_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_flat( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_flat = gsl_ran_flat( r, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_flat );
}
/* gsl_randist.h */
static void dao__gsl_ran_flat_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_flat_pdf = gsl_ran_flat_pdf( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_flat_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_gamma( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_gamma = gsl_ran_gamma( r, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gamma );
}
/* gsl_randist.h */
static void dao__gsl_ran_gamma_int( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  unsigned int a= (unsigned int) _p[1]->v.i;

  double _gsl_ran_gamma_int = gsl_ran_gamma_int( r, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gamma_int );
}
/* gsl_randist.h */
static void dao__gsl_ran_gamma_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_gamma_pdf = gsl_ran_gamma_pdf( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gamma_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_gamma_mt( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_gamma_mt = gsl_ran_gamma_mt( r, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gamma_mt );
}
/* gsl_randist.h */
static void dao__gsl_ran_gamma_knuth( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_gamma_knuth = gsl_ran_gamma_knuth( r, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gamma_knuth );
}
/* gsl_randist.h */
static void dao__gsl_ran_gaussian( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double sigma= (double) _p[1]->v.d;

  double _gsl_ran_gaussian = gsl_ran_gaussian( r, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gaussian );
}
/* gsl_randist.h */
static void dao__gsl_ran_gaussian_ratio_method( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double sigma= (double) _p[1]->v.d;

  double _gsl_ran_gaussian_ratio_method = gsl_ran_gaussian_ratio_method( r, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gaussian_ratio_method );
}
/* gsl_randist.h */
static void dao__gsl_ran_gaussian_ziggurat( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double sigma= (double) _p[1]->v.d;

  double _gsl_ran_gaussian_ziggurat = gsl_ran_gaussian_ziggurat( r, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gaussian_ziggurat );
}
/* gsl_randist.h */
static void dao__gsl_ran_gaussian_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double sigma= (double) _p[1]->v.d;

  double _gsl_ran_gaussian_pdf = gsl_ran_gaussian_pdf( x, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gaussian_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_ugaussian( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  double _gsl_ran_ugaussian = gsl_ran_ugaussian( r );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_ugaussian );
}
/* gsl_randist.h */
static void dao__gsl_ran_ugaussian_ratio_method( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  double _gsl_ran_ugaussian_ratio_method = gsl_ran_ugaussian_ratio_method( r );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_ugaussian_ratio_method );
}
/* gsl_randist.h */
static void dao__gsl_ran_ugaussian_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  double _gsl_ran_ugaussian_pdf = gsl_ran_ugaussian_pdf( x );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_ugaussian_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_gaussian_tail( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double sigma= (double) _p[2]->v.d;

  double _gsl_ran_gaussian_tail = gsl_ran_gaussian_tail( r, a, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gaussian_tail );
}
/* gsl_randist.h */
static void dao__gsl_ran_gaussian_tail_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double sigma= (double) _p[2]->v.d;

  double _gsl_ran_gaussian_tail_pdf = gsl_ran_gaussian_tail_pdf( x, a, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gaussian_tail_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_ugaussian_tail( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;

  double _gsl_ran_ugaussian_tail = gsl_ran_ugaussian_tail( r, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_ugaussian_tail );
}
/* gsl_randist.h */
static void dao__gsl_ran_ugaussian_tail_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_ran_ugaussian_tail_pdf = gsl_ran_ugaussian_tail_pdf( x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_ugaussian_tail_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_bivariate_gaussian( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double sigma_x= (double) _p[1]->v.d;
  double sigma_y= (double) _p[2]->v.d;
  double rho= (double) _p[3]->v.d;
  double x= (double) _p[4]->v.d;
  double y= (double) _p[5]->v.d;

  gsl_ran_bivariate_gaussian( r, sigma_x, sigma_y, rho, & x, & y );
  _p[4]->v.d = (double) x;
  _p[5]->v.d = (double) y;
}
/* gsl_randist.h */
static void dao__gsl_ran_bivariate_gaussian_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double y= (double) _p[1]->v.d;
  double sigma_x= (double) _p[2]->v.d;
  double sigma_y= (double) _p[3]->v.d;
  double rho= (double) _p[4]->v.d;

  double _gsl_ran_bivariate_gaussian_pdf = gsl_ran_bivariate_gaussian_pdf( x, y, sigma_x, sigma_y, rho );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_bivariate_gaussian_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_landau( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );

  double _gsl_ran_landau = gsl_ran_landau( r );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_landau );
}
/* gsl_randist.h */
static void dao__gsl_ran_landau_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  double _gsl_ran_landau_pdf = gsl_ran_landau_pdf( x );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_landau_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_geometric( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double p= (double) _p[1]->v.d;

  unsigned int _gsl_ran_geometric = gsl_ran_geometric( r, p );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_geometric );
}
/* gsl_randist.h */
static void dao__gsl_ran_geometric_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;

  double _gsl_ran_geometric_pdf = gsl_ran_geometric_pdf( k, p );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_geometric_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_hypergeometric( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  unsigned int n1= (unsigned int) _p[1]->v.i;
  unsigned int n2= (unsigned int) _p[2]->v.i;
  unsigned int t= (unsigned int) _p[3]->v.i;

  unsigned int _gsl_ran_hypergeometric = gsl_ran_hypergeometric( r, n1, n2, t );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_hypergeometric );
}
/* gsl_randist.h */
static void dao__gsl_ran_hypergeometric_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  unsigned int n1= (unsigned int) _p[1]->v.i;
  unsigned int n2= (unsigned int) _p[2]->v.i;
  unsigned int t= (unsigned int) _p[3]->v.i;

  double _gsl_ran_hypergeometric_pdf = gsl_ran_hypergeometric_pdf( k, n1, n2, t );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_hypergeometric_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_gumbel1( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_gumbel1 = gsl_ran_gumbel1( r, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gumbel1 );
}
/* gsl_randist.h */
static void dao__gsl_ran_gumbel1_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_gumbel1_pdf = gsl_ran_gumbel1_pdf( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gumbel1_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_gumbel2( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_gumbel2 = gsl_ran_gumbel2( r, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gumbel2 );
}
/* gsl_randist.h */
static void dao__gsl_ran_gumbel2_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_gumbel2_pdf = gsl_ran_gumbel2_pdf( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_gumbel2_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_logistic( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;

  double _gsl_ran_logistic = gsl_ran_logistic( r, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_logistic );
}
/* gsl_randist.h */
static void dao__gsl_ran_logistic_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_ran_logistic_pdf = gsl_ran_logistic_pdf( x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_logistic_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_lognormal( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double zeta= (double) _p[1]->v.d;
  double sigma= (double) _p[2]->v.d;

  double _gsl_ran_lognormal = gsl_ran_lognormal( r, zeta, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_lognormal );
}
/* gsl_randist.h */
static void dao__gsl_ran_lognormal_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double zeta= (double) _p[1]->v.d;
  double sigma= (double) _p[2]->v.d;

  double _gsl_ran_lognormal_pdf = gsl_ran_lognormal_pdf( x, zeta, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_lognormal_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_logarithmic( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double p= (double) _p[1]->v.d;

  unsigned int _gsl_ran_logarithmic = gsl_ran_logarithmic( r, p );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_logarithmic );
}
/* gsl_randist.h */
static void dao__gsl_ran_logarithmic_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;

  double _gsl_ran_logarithmic_pdf = gsl_ran_logarithmic_pdf( k, p );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_logarithmic_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_multinomial( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  size_t K= (size_t) _p[1]->v.i;
  unsigned int N= (unsigned int) _p[2]->v.i;
  double* p= (double*) DaoArray_ToDouble( _p[3]->v.array );
  unsigned int* n= (unsigned int*) DaoArray_ToUInt( _p[4]->v.array );

  gsl_ran_multinomial( r, K, N, p, n );
}
/* gsl_randist.h */
static void dao__gsl_ran_multinomial_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t K= (size_t) _p[0]->v.i;
  double* p= (double*) DaoArray_ToDouble( _p[1]->v.array );
  unsigned int* n= (unsigned int*) DaoArray_ToUInt( _p[2]->v.array );

  double _gsl_ran_multinomial_pdf = gsl_ran_multinomial_pdf( K, p, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_multinomial_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_multinomial_lnpdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t K= (size_t) _p[0]->v.i;
  double* p= (double*) DaoArray_ToDouble( _p[1]->v.array );
  unsigned int* n= (unsigned int*) DaoArray_ToUInt( _p[2]->v.array );

  double _gsl_ran_multinomial_lnpdf = gsl_ran_multinomial_lnpdf( K, p, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_multinomial_lnpdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_negative_binomial( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double p= (double) _p[1]->v.d;
  double n= (double) _p[2]->v.d;

  unsigned int _gsl_ran_negative_binomial = gsl_ran_negative_binomial( r, p, n );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_negative_binomial );
}
/* gsl_randist.h */
static void dao__gsl_ran_negative_binomial_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;
  double n= (double) _p[2]->v.d;

  double _gsl_ran_negative_binomial_pdf = gsl_ran_negative_binomial_pdf( k, p, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_negative_binomial_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_pascal( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double p= (double) _p[1]->v.d;
  unsigned int n= (unsigned int) _p[2]->v.i;

  unsigned int _gsl_ran_pascal = gsl_ran_pascal( r, p, n );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_pascal );
}
/* gsl_randist.h */
static void dao__gsl_ran_pascal_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double p= (double) _p[1]->v.d;
  unsigned int n= (unsigned int) _p[2]->v.i;

  double _gsl_ran_pascal_pdf = gsl_ran_pascal_pdf( k, p, n );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_pascal_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_pareto( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_pareto = gsl_ran_pareto( r, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_pareto );
}
/* gsl_randist.h */
static void dao__gsl_ran_pareto_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_pareto_pdf = gsl_ran_pareto_pdf( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_pareto_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_poisson( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double mu= (double) _p[1]->v.d;

  unsigned int _gsl_ran_poisson = gsl_ran_poisson( r, mu );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_poisson );
}
/* gsl_randist.h */
static void dao__gsl_ran_poisson_array( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  size_t n= (size_t) _p[1]->v.i;
  unsigned int* array= (unsigned int*) DaoArray_ToUInt( _p[2]->v.array );
  double mu= (double) _p[3]->v.d;

  gsl_ran_poisson_array( r, n, array, mu );
}
/* gsl_randist.h */
static void dao__gsl_ran_poisson_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned int k= (unsigned int) _p[0]->v.i;
  double mu= (double) _p[1]->v.d;

  double _gsl_ran_poisson_pdf = gsl_ran_poisson_pdf( k, mu );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_poisson_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_rayleigh( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double sigma= (double) _p[1]->v.d;

  double _gsl_ran_rayleigh = gsl_ran_rayleigh( r, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_rayleigh );
}
/* gsl_randist.h */
static void dao__gsl_ran_rayleigh_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double sigma= (double) _p[1]->v.d;

  double _gsl_ran_rayleigh_pdf = gsl_ran_rayleigh_pdf( x, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_rayleigh_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_rayleigh_tail( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double sigma= (double) _p[2]->v.d;

  double _gsl_ran_rayleigh_tail = gsl_ran_rayleigh_tail( r, a, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_rayleigh_tail );
}
/* gsl_randist.h */
static void dao__gsl_ran_rayleigh_tail_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double sigma= (double) _p[2]->v.d;

  double _gsl_ran_rayleigh_tail_pdf = gsl_ran_rayleigh_tail_pdf( x, a, sigma );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_rayleigh_tail_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_tdist( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double nu= (double) _p[1]->v.d;

  double _gsl_ran_tdist = gsl_ran_tdist( r, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_tdist );
}
/* gsl_randist.h */
static void dao__gsl_ran_tdist_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double nu= (double) _p[1]->v.d;

  double _gsl_ran_tdist_pdf = gsl_ran_tdist_pdf( x, nu );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_tdist_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_laplace( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;

  double _gsl_ran_laplace = gsl_ran_laplace( r, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_laplace );
}
/* gsl_randist.h */
static void dao__gsl_ran_laplace_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;

  double _gsl_ran_laplace_pdf = gsl_ran_laplace_pdf( x, a );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_laplace_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_levy( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double c= (double) _p[1]->v.d;
  double alpha= (double) _p[2]->v.d;

  double _gsl_ran_levy = gsl_ran_levy( r, c, alpha );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_levy );
}
/* gsl_randist.h */
static void dao__gsl_ran_levy_skew( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double c= (double) _p[1]->v.d;
  double alpha= (double) _p[2]->v.d;
  double beta= (double) _p[3]->v.d;

  double _gsl_ran_levy_skew = gsl_ran_levy_skew( r, c, alpha, beta );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_levy_skew );
}
/* gsl_randist.h */
static void dao__gsl_ran_weibull( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_weibull = gsl_ran_weibull( r, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_weibull );
}
/* gsl_randist.h */
static void dao__gsl_ran_weibull_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;

  double _gsl_ran_weibull_pdf = gsl_ran_weibull_pdf( x, a, b );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_weibull_pdf );
}
/* gsl_randist.h */
static void dao__gsl_ran_dir_2d( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double x= (double) _p[1]->v.d;
  double y= (double) _p[2]->v.d;

  gsl_ran_dir_2d( r, & x, & y );
  _p[1]->v.d = (double) x;
  _p[2]->v.d = (double) y;
}
/* gsl_randist.h */
static void dao__gsl_ran_dir_2d_trig_method( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double x= (double) _p[1]->v.d;
  double y= (double) _p[2]->v.d;

  gsl_ran_dir_2d_trig_method( r, & x, & y );
  _p[1]->v.d = (double) x;
  _p[2]->v.d = (double) y;
}
/* gsl_randist.h */
static void dao__gsl_ran_dir_3d( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  double x= (double) _p[1]->v.d;
  double y= (double) _p[2]->v.d;
  double z= (double) _p[3]->v.d;

  gsl_ran_dir_3d( r, & x, & y, & z );
  _p[1]->v.d = (double) x;
  _p[2]->v.d = (double) y;
  _p[3]->v.d = (double) z;
}
/* gsl_randist.h */
static void dao__gsl_ran_dir_nd( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  size_t n= (size_t) _p[1]->v.i;
  double x= (double) _p[2]->v.d;

  gsl_ran_dir_nd( r, n, & x );
  _p[2]->v.d = (double) x;
}
/* gsl_randist.h */
static void dao__gsl_ran_shuffle( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  void* base= (void*) DaoCData_GetData( _p[1]->v.cdata );
  size_t nmembm= (size_t) _p[2]->v.i;
  size_t size= (size_t) _p[3]->v.i;

  gsl_ran_shuffle( r, base, nmembm, size );
}
/* gsl_randist.h */
static void dao__gsl_ran_choose( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  void* dest= (void*) DaoCData_GetData( _p[1]->v.cdata );
  size_t k= (size_t) _p[2]->v.i;
  void* src= (void*) DaoCData_GetData( _p[3]->v.cdata );
  size_t n= (size_t) _p[4]->v.i;
  size_t size= (size_t) _p[5]->v.i;

  int _gsl_ran_choose = gsl_ran_choose( r, dest, k, src, n, size );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_choose );
}
/* gsl_randist.h */
static void dao__gsl_ran_sample( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  void* dest= (void*) DaoCData_GetData( _p[1]->v.cdata );
  size_t k= (size_t) _p[2]->v.i;
  void* src= (void*) DaoCData_GetData( _p[3]->v.cdata );
  size_t n= (size_t) _p[4]->v.i;
  size_t size= (size_t) _p[5]->v.i;

  gsl_ran_sample( r, dest, k, src, n, size );
}
/* gsl_randist.h */
static void dao__gsl_ran_discrete_preproc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t K= (size_t) _p[0]->v.i;
  double* P= (double*) DaoArray_ToDouble( _p[1]->v.array );

  gsl_ran_discrete_t* _gsl_ran_discrete_preproc = gsl_ran_discrete_preproc( K, P );
  DaoContext_WrapCData( _ctx, (void*) _gsl_ran_discrete_preproc, dao_gsl_ran_discrete_t_Typer );
}
/* gsl_randist.h */
static void dao__gsl_ran_discrete_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_ran_discrete_t* g= (gsl_ran_discrete_t*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_ran_discrete_t_Typer );

  gsl_ran_discrete_free( g );
}
/* gsl_randist.h */
static void dao__gsl_ran_discrete( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_rng_Typer );
  gsl_ran_discrete_t* g= (gsl_ran_discrete_t*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_ran_discrete_t_Typer );

  size_t _gsl_ran_discrete = gsl_ran_discrete( r, g );
  DaoContext_PutInteger( _ctx, (int) _gsl_ran_discrete );
}
/* gsl_randist.h */
static void dao__gsl_ran_discrete_pdf( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t k= (size_t) _p[0]->v.i;
  gsl_ran_discrete_t* g= (gsl_ran_discrete_t*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_ran_discrete_t_Typer );

  double _gsl_ran_discrete_pdf = gsl_ran_discrete_pdf( k, g );
  DaoContext_PutDouble( _ctx, (double) _gsl_ran_discrete_pdf );
}
/* gsl_roots.h */
static void dao__gsl_root_fsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver_type* T= (gsl_root_fsolver_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fsolver_type_Typer );

  gsl_root_fsolver* _gsl_root_fsolver_alloc = gsl_root_fsolver_alloc( T );
  DaoContext_WrapCData( _ctx, (void*) _gsl_root_fsolver_alloc, dao_gsl_root_fsolver_Typer );
}
/* gsl_roots.h */
static void dao__gsl_root_fsolver_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver* s= (gsl_root_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fsolver_Typer );

  gsl_root_fsolver_free( s );
}
/* gsl_roots.h */
static void dao__gsl_root_fsolver_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver* s= (gsl_root_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fsolver_Typer );
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_function_Typer );
  double x_lower= (double) _p[2]->v.d;
  double x_upper= (double) _p[3]->v.d;

  int _gsl_root_fsolver_set = gsl_root_fsolver_set( s, f, x_lower, x_upper );
  DaoContext_PutInteger( _ctx, (int) _gsl_root_fsolver_set );
}
/* gsl_roots.h */
static void dao__gsl_root_fsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver* s= (gsl_root_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fsolver_Typer );

  int _gsl_root_fsolver_iterate = gsl_root_fsolver_iterate( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_root_fsolver_iterate );
}
/* gsl_roots.h */
static void dao__gsl_root_fsolver_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver* s= (gsl_root_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fsolver_Typer );

  const char* _gsl_root_fsolver_name = gsl_root_fsolver_name( s );
  DaoContext_PutMBString( _ctx, (char*) _gsl_root_fsolver_name );
}
/* gsl_roots.h */
static void dao__gsl_root_fsolver_root( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver* s= (gsl_root_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fsolver_Typer );

  double _gsl_root_fsolver_root = gsl_root_fsolver_root( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_root_fsolver_root );
}
/* gsl_roots.h */
static void dao__gsl_root_fsolver_x_lower( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver* s= (gsl_root_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fsolver_Typer );

  double _gsl_root_fsolver_x_lower = gsl_root_fsolver_x_lower( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_root_fsolver_x_lower );
}
/* gsl_roots.h */
static void dao__gsl_root_fsolver_x_upper( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fsolver* s= (gsl_root_fsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fsolver_Typer );

  double _gsl_root_fsolver_x_upper = gsl_root_fsolver_x_upper( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_root_fsolver_x_upper );
}
/* gsl_roots.h */
static void dao__gsl_root_fdfsolver_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver_type* T= (gsl_root_fdfsolver_type*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fdfsolver_type_Typer );

  gsl_root_fdfsolver* _gsl_root_fdfsolver_alloc = gsl_root_fdfsolver_alloc( T );
  DaoContext_WrapCData( _ctx, (void*) _gsl_root_fdfsolver_alloc, dao_gsl_root_fdfsolver_Typer );
}
/* gsl_roots.h */
static void dao__gsl_root_fdfsolver_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver* s= (gsl_root_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fdfsolver_Typer );
  gsl_function_fdf* fdf= (gsl_function_fdf*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_function_fdf_Typer );
  double root= (double) _p[2]->v.d;

  int _gsl_root_fdfsolver_set = gsl_root_fdfsolver_set( s, fdf, root );
  DaoContext_PutInteger( _ctx, (int) _gsl_root_fdfsolver_set );
}
/* gsl_roots.h */
static void dao__gsl_root_fdfsolver_iterate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver* s= (gsl_root_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fdfsolver_Typer );

  int _gsl_root_fdfsolver_iterate = gsl_root_fdfsolver_iterate( s );
  DaoContext_PutInteger( _ctx, (int) _gsl_root_fdfsolver_iterate );
}
/* gsl_roots.h */
static void dao__gsl_root_fdfsolver_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver* s= (gsl_root_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fdfsolver_Typer );

  gsl_root_fdfsolver_free( s );
}
/* gsl_roots.h */
static void dao__gsl_root_fdfsolver_name( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver* s= (gsl_root_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fdfsolver_Typer );

  const char* _gsl_root_fdfsolver_name = gsl_root_fdfsolver_name( s );
  DaoContext_PutMBString( _ctx, (char*) _gsl_root_fdfsolver_name );
}
/* gsl_roots.h */
static void dao__gsl_root_fdfsolver_root( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_root_fdfsolver* s= (gsl_root_fdfsolver*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_root_fdfsolver_Typer );

  double _gsl_root_fdfsolver_root = gsl_root_fdfsolver_root( s );
  DaoContext_PutDouble( _ctx, (double) _gsl_root_fdfsolver_root );
}
/* gsl_roots.h */
static void dao__gsl_root_test_interval( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x_lower= (double) _p[0]->v.d;
  double x_upper= (double) _p[1]->v.d;
  double epsabs= (double) _p[2]->v.d;
  double epsrel= (double) _p[3]->v.d;

  int _gsl_root_test_interval = gsl_root_test_interval( x_lower, x_upper, epsabs, epsrel );
  DaoContext_PutInteger( _ctx, (int) _gsl_root_test_interval );
}
/* gsl_roots.h */
static void dao__gsl_root_test_residual( DaoContext *_ctx, DValue *_p[], int _n )
{
  double f= (double) _p[0]->v.d;
  double epsabs= (double) _p[1]->v.d;

  int _gsl_root_test_residual = gsl_root_test_residual( f, epsabs );
  DaoContext_PutInteger( _ctx, (int) _gsl_root_test_residual );
}
/* gsl_roots.h */
static void dao__gsl_root_test_delta( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x1= (double) _p[0]->v.d;
  double x0= (double) _p[1]->v.d;
  double epsabs= (double) _p[2]->v.d;
  double epsrel= (double) _p[3]->v.d;

  int _gsl_root_test_delta = gsl_root_test_delta( x1, x0, epsabs, epsrel );
  DaoContext_PutInteger( _ctx, (int) _gsl_root_test_delta );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_transform( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  double* data= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t tda= (size_t) _p[2]->v.i;
  size_t size1= (size_t) _p[3]->v.i;
  size_t size2= (size_t) _p[4]->v.i;
  gsl_wavelet_direction dir= (gsl_wavelet_direction) _p[5]->v.i;
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_transform = gsl_wavelet2d_transform( w, data, tda, size1, size2, dir, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_transform );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_transform_forward( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  double* data= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t tda= (size_t) _p[2]->v.i;
  size_t size1= (size_t) _p[3]->v.i;
  size_t size2= (size_t) _p[4]->v.i;
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_transform_forward = gsl_wavelet2d_transform_forward( w, data, tda, size1, size2, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_transform_forward );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_transform_inverse( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  double* data= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t tda= (size_t) _p[2]->v.i;
  size_t size1= (size_t) _p[3]->v.i;
  size_t size2= (size_t) _p[4]->v.i;
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_transform_inverse = gsl_wavelet2d_transform_inverse( w, data, tda, size1, size2, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_transform_inverse );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_nstransform( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  double* data= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t tda= (size_t) _p[2]->v.i;
  size_t size1= (size_t) _p[3]->v.i;
  size_t size2= (size_t) _p[4]->v.i;
  gsl_wavelet_direction dir= (gsl_wavelet_direction) _p[5]->v.i;
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_nstransform = gsl_wavelet2d_nstransform( w, data, tda, size1, size2, dir, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_nstransform );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_nstransform_forward( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  double* data= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t tda= (size_t) _p[2]->v.i;
  size_t size1= (size_t) _p[3]->v.i;
  size_t size2= (size_t) _p[4]->v.i;
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_nstransform_forward = gsl_wavelet2d_nstransform_forward( w, data, tda, size1, size2, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_nstransform_forward );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_nstransform_inverse( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  double* data= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t tda= (size_t) _p[2]->v.i;
  size_t size1= (size_t) _p[3]->v.i;
  size_t size2= (size_t) _p[4]->v.i;
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_nstransform_inverse = gsl_wavelet2d_nstransform_inverse( w, data, tda, size1, size2, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_nstransform_inverse );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_transform_matrix( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  gsl_matrix* a= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_wavelet_direction dir= (gsl_wavelet_direction) _p[2]->v.i;
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_transform_matrix = gsl_wavelet2d_transform_matrix( w, a, dir, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_transform_matrix );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_transform_matrix_forward( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  gsl_matrix* a= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_transform_matrix_forward = gsl_wavelet2d_transform_matrix_forward( w, a, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_transform_matrix_forward );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_transform_matrix_inverse( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  gsl_matrix* a= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_transform_matrix_inverse = gsl_wavelet2d_transform_matrix_inverse( w, a, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_transform_matrix_inverse );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_nstransform_matrix( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  gsl_matrix* a= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_wavelet_direction dir= (gsl_wavelet_direction) _p[2]->v.i;
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_nstransform_matrix = gsl_wavelet2d_nstransform_matrix( w, a, dir, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_nstransform_matrix );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_nstransform_matrix_forward( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  gsl_matrix* a= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_nstransform_matrix_forward = gsl_wavelet2d_nstransform_matrix_forward( w, a, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_nstransform_matrix_forward );
}
/* gsl_wavelet2d.h */
static void dao__gsl_wavelet2d_nstransform_matrix_inverse( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_wavelet* w= (gsl_wavelet*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_wavelet_Typer );
  gsl_matrix* a= (gsl_matrix*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_matrix_Typer );
  gsl_wavelet_workspace* work= (gsl_wavelet_workspace*) DaoCData_CastData( _p[2]->v.cdata, dao_gsl_wavelet_workspace_Typer );

  int _gsl_wavelet2d_nstransform_matrix_inverse = gsl_wavelet2d_nstransform_matrix_inverse( w, a, work );
  DaoContext_PutInteger( _ctx, (int) _gsl_wavelet2d_nstransform_matrix_inverse );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t order= (size_t) _p[0]->v.i;

  gsl_cheb_series* _gsl_cheb_alloc = gsl_cheb_alloc( order );
  DaoContext_WrapCData( _ctx, (void*) _gsl_cheb_alloc, dao_gsl_cheb_series_Typer );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );

  gsl_cheb_free( cs );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_init( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );
  gsl_function* func= (gsl_function*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[2]->v.d;
  double b= (double) _p[3]->v.d;

  int _gsl_cheb_init = gsl_cheb_init( cs, func, a, b );
  DaoContext_PutInteger( _ctx, (int) _gsl_cheb_init );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_order( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );

  size_t _gsl_cheb_order = gsl_cheb_order( cs );
  DaoContext_PutInteger( _ctx, (int) _gsl_cheb_order );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );

  size_t _gsl_cheb_size = gsl_cheb_size( cs );
  DaoContext_PutInteger( _ctx, (int) _gsl_cheb_size );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_coeffs( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );

  double* _gsl_cheb_coeffs = gsl_cheb_coeffs( cs );
  DaoContext_PutArrayDouble( _ctx, (double*) _gsl_cheb_coeffs, 0 );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_eval( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );
  double x= (double) _p[1]->v.d;

  double _gsl_cheb_eval = gsl_cheb_eval( cs, x );
  DaoContext_PutDouble( _ctx, (double) _gsl_cheb_eval );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_eval_err( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );
  double x= (double) _p[1]->v.d;
  double result= (double) _p[2]->v.d;
  double abserr= (double) _p[3]->v.d;

  int _gsl_cheb_eval_err = gsl_cheb_eval_err( cs, x, & result, & abserr );
  _p[2]->v.d = (double) result;
  _p[3]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_cheb_eval_err );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_eval_n( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );
  size_t order= (size_t) _p[1]->v.i;
  double x= (double) _p[2]->v.d;

  double _gsl_cheb_eval_n = gsl_cheb_eval_n( cs, order, x );
  DaoContext_PutDouble( _ctx, (double) _gsl_cheb_eval_n );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_eval_n_err( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );
  size_t order= (size_t) _p[1]->v.i;
  double x= (double) _p[2]->v.d;
  double result= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;

  int _gsl_cheb_eval_n_err = gsl_cheb_eval_n_err( cs, order, x, & result, & abserr );
  _p[3]->v.d = (double) result;
  _p[4]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_cheb_eval_n_err );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_eval_mode( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );
  double x= (double) _p[1]->v.d;
  gsl_mode_t mode= (gsl_mode_t) _p[2]->v.i;

  double _gsl_cheb_eval_mode = gsl_cheb_eval_mode( cs, x, mode );
  DaoContext_PutDouble( _ctx, (double) _gsl_cheb_eval_mode );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_eval_mode_e( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );
  double x= (double) _p[1]->v.d;
  gsl_mode_t mode= (gsl_mode_t) _p[2]->v.i;
  double result= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;

  int _gsl_cheb_eval_mode_e = gsl_cheb_eval_mode_e( cs, x, mode, & result, & abserr );
  _p[3]->v.d = (double) result;
  _p[4]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_cheb_eval_mode_e );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_calc_deriv( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* deriv= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_cheb_series_Typer );

  int _gsl_cheb_calc_deriv = gsl_cheb_calc_deriv( deriv, cs );
  DaoContext_PutInteger( _ctx, (int) _gsl_cheb_calc_deriv );
}
/* gsl_chebyshev.h */
static void dao__gsl_cheb_calc_integ( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_cheb_series* integ= (gsl_cheb_series*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_cheb_series_Typer );
  gsl_cheb_series* cs= (gsl_cheb_series*) DaoCData_CastData( _p[1]->v.cdata, dao_gsl_cheb_series_Typer );

  int _gsl_cheb_calc_integ = gsl_cheb_calc_integ( integ, cs );
  DaoContext_PutInteger( _ctx, (int) _gsl_cheb_calc_integ );
}
/* gsl_deriv.h */
static void dao__gsl_deriv_central( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double x= (double) _p[1]->v.d;
  double h= (double) _p[2]->v.d;
  double result= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;

  int _gsl_deriv_central = gsl_deriv_central( f, x, h, & result, & abserr );
  _p[3]->v.d = (double) result;
  _p[4]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_deriv_central );
}
/* gsl_deriv.h */
static void dao__gsl_deriv_backward( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double x= (double) _p[1]->v.d;
  double h= (double) _p[2]->v.d;
  double result= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;

  int _gsl_deriv_backward = gsl_deriv_backward( f, x, h, & result, & abserr );
  _p[3]->v.d = (double) result;
  _p[4]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_deriv_backward );
}
/* gsl_deriv.h */
static void dao__gsl_deriv_forward( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double x= (double) _p[1]->v.d;
  double h= (double) _p[2]->v.d;
  double result= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;

  int _gsl_deriv_forward = gsl_deriv_forward( f, x, h, & result, & abserr );
  _p[3]->v.d = (double) result;
  _p[4]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_deriv_forward );
}
/* gsl_diff.h */
static void dao__gsl_diff_central( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double x= (double) _p[1]->v.d;
  double result= (double) _p[2]->v.d;
  double abserr= (double) _p[3]->v.d;

  int _gsl_diff_central = gsl_diff_central( f, x, & result, & abserr );
  _p[2]->v.d = (double) result;
  _p[3]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_diff_central );
}
/* gsl_diff.h */
static void dao__gsl_diff_backward( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double x= (double) _p[1]->v.d;
  double result= (double) _p[2]->v.d;
  double abserr= (double) _p[3]->v.d;

  int _gsl_diff_backward = gsl_diff_backward( f, x, & result, & abserr );
  _p[2]->v.d = (double) result;
  _p[3]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_diff_backward );
}
/* gsl_diff.h */
static void dao__gsl_diff_forward( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double x= (double) _p[1]->v.d;
  double result= (double) _p[2]->v.d;
  double abserr= (double) _p[3]->v.d;

  int _gsl_diff_forward = gsl_diff_forward( f, x, & result, & abserr );
  _p[2]->v.d = (double) result;
  _p[3]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_diff_forward );
}
/* gsl_fit.h */
static void dao__gsl_fit_linear( DaoContext *_ctx, DValue *_p[], int _n )
{
  double* x= (double*) DaoArray_ToDouble( _p[0]->v.array );
  size_t xstride= (size_t) _p[1]->v.i;
  double* y= (double*) DaoArray_ToDouble( _p[2]->v.array );
  size_t ystride= (size_t) _p[3]->v.i;
  size_t n= (size_t) _p[4]->v.i;
  double c0= (double) _p[5]->v.d;
  double c1= (double) _p[6]->v.d;
  double cov00= (double) _p[7]->v.d;
  double cov01= (double) _p[8]->v.d;
  double cov11= (double) _p[9]->v.d;
  double sumsq= (double) _p[10]->v.d;

  int _gsl_fit_linear = gsl_fit_linear( x, xstride, y, ystride, n, & c0, & c1, & cov00, & cov01, & cov11, & sumsq );
  _p[5]->v.d = (double) c0;
  _p[6]->v.d = (double) c1;
  _p[7]->v.d = (double) cov00;
  _p[8]->v.d = (double) cov01;
  _p[9]->v.d = (double) cov11;
  _p[10]->v.d = (double) sumsq;
  DaoContext_PutInteger( _ctx, (int) _gsl_fit_linear );
}
/* gsl_fit.h */
static void dao__gsl_fit_wlinear( DaoContext *_ctx, DValue *_p[], int _n )
{
  double* x= (double*) DaoArray_ToDouble( _p[0]->v.array );
  size_t xstride= (size_t) _p[1]->v.i;
  double* w= (double*) DaoArray_ToDouble( _p[2]->v.array );
  size_t wstride= (size_t) _p[3]->v.i;
  double* y= (double*) DaoArray_ToDouble( _p[4]->v.array );
  size_t ystride= (size_t) _p[5]->v.i;
  size_t n= (size_t) _p[6]->v.i;
  double c0= (double) _p[7]->v.d;
  double c1= (double) _p[8]->v.d;
  double cov00= (double) _p[9]->v.d;
  double cov01= (double) _p[10]->v.d;
  double cov11= (double) _p[11]->v.d;
  double chisq= (double) _p[12]->v.d;

  int _gsl_fit_wlinear = gsl_fit_wlinear( x, xstride, w, wstride, y, ystride, n, & c0, & c1, & cov00, & cov01, & cov11, & chisq );
  _p[7]->v.d = (double) c0;
  _p[8]->v.d = (double) c1;
  _p[9]->v.d = (double) cov00;
  _p[10]->v.d = (double) cov01;
  _p[11]->v.d = (double) cov11;
  _p[12]->v.d = (double) chisq;
  DaoContext_PutInteger( _ctx, (int) _gsl_fit_wlinear );
}
/* gsl_fit.h */
static void dao__gsl_fit_linear_est( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double c0= (double) _p[1]->v.d;
  double c1= (double) _p[2]->v.d;
  double cov00= (double) _p[3]->v.d;
  double cov01= (double) _p[4]->v.d;
  double cov11= (double) _p[5]->v.d;
  double y= (double) _p[6]->v.d;
  double y_err= (double) _p[7]->v.d;

  int _gsl_fit_linear_est = gsl_fit_linear_est( x, c0, c1, cov00, cov01, cov11, & y, & y_err );
  _p[6]->v.d = (double) y;
  _p[7]->v.d = (double) y_err;
  DaoContext_PutInteger( _ctx, (int) _gsl_fit_linear_est );
}
/* gsl_fit.h */
static void dao__gsl_fit_mul( DaoContext *_ctx, DValue *_p[], int _n )
{
  double* x= (double*) DaoArray_ToDouble( _p[0]->v.array );
  size_t xstride= (size_t) _p[1]->v.i;
  double* y= (double*) DaoArray_ToDouble( _p[2]->v.array );
  size_t ystride= (size_t) _p[3]->v.i;
  size_t n= (size_t) _p[4]->v.i;
  double c1= (double) _p[5]->v.d;
  double cov11= (double) _p[6]->v.d;
  double sumsq= (double) _p[7]->v.d;

  int _gsl_fit_mul = gsl_fit_mul( x, xstride, y, ystride, n, & c1, & cov11, & sumsq );
  _p[5]->v.d = (double) c1;
  _p[6]->v.d = (double) cov11;
  _p[7]->v.d = (double) sumsq;
  DaoContext_PutInteger( _ctx, (int) _gsl_fit_mul );
}
/* gsl_fit.h */
static void dao__gsl_fit_wmul( DaoContext *_ctx, DValue *_p[], int _n )
{
  double* x= (double*) DaoArray_ToDouble( _p[0]->v.array );
  size_t xstride= (size_t) _p[1]->v.i;
  double* w= (double*) DaoArray_ToDouble( _p[2]->v.array );
  size_t wstride= (size_t) _p[3]->v.i;
  double* y= (double*) DaoArray_ToDouble( _p[4]->v.array );
  size_t ystride= (size_t) _p[5]->v.i;
  size_t n= (size_t) _p[6]->v.i;
  double c1= (double) _p[7]->v.d;
  double cov11= (double) _p[8]->v.d;
  double sumsq= (double) _p[9]->v.d;

  int _gsl_fit_wmul = gsl_fit_wmul( x, xstride, w, wstride, y, ystride, n, & c1, & cov11, & sumsq );
  _p[7]->v.d = (double) c1;
  _p[8]->v.d = (double) cov11;
  _p[9]->v.d = (double) sumsq;
  DaoContext_PutInteger( _ctx, (int) _gsl_fit_wmul );
}
/* gsl_fit.h */
static void dao__gsl_fit_mul_est( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;
  double c1= (double) _p[1]->v.d;
  double cov11= (double) _p[2]->v.d;
  double y= (double) _p[3]->v.d;
  double y_err= (double) _p[4]->v.d;

  int _gsl_fit_mul_est = gsl_fit_mul_est( x, c1, cov11, & y, & y_err );
  _p[3]->v.d = (double) y;
  _p[4]->v.d = (double) y_err;
  DaoContext_PutInteger( _ctx, (int) _gsl_fit_mul_est );
}
/* gsl_integration.h */
static void dao__gsl_integration_workspace_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t n= (size_t) _p[0]->v.i;

  gsl_integration_workspace* _gsl_integration_workspace_alloc = gsl_integration_workspace_alloc( n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_integration_workspace_alloc, dao_gsl_integration_workspace_Typer );
}
/* gsl_integration.h */
static void dao__gsl_integration_workspace_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_workspace* w= (gsl_integration_workspace*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_integration_workspace_Typer );

  gsl_integration_workspace_free( w );
}
/* gsl_integration.h */
static void dao__gsl_integration_qaws_table_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  double alpha= (double) _p[0]->v.d;
  double beta= (double) _p[1]->v.d;
  int mu= (int) _p[2]->v.i;
  int nu= (int) _p[3]->v.i;

  gsl_integration_qaws_table* _gsl_integration_qaws_table_alloc = gsl_integration_qaws_table_alloc( alpha, beta, mu, nu );
  DaoContext_WrapCData( _ctx, (void*) _gsl_integration_qaws_table_alloc, dao_gsl_integration_qaws_table_Typer );
}
/* gsl_integration.h */
static void dao__gsl_integration_qaws_table_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table* t= (gsl_integration_qaws_table*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_integration_qaws_table_Typer );
  double alpha= (double) _p[1]->v.d;
  double beta= (double) _p[2]->v.d;
  int mu= (int) _p[3]->v.i;
  int nu= (int) _p[4]->v.i;

  int _gsl_integration_qaws_table_set = gsl_integration_qaws_table_set( t, alpha, beta, mu, nu );
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qaws_table_set );
}
/* gsl_integration.h */
static void dao__gsl_integration_qaws_table_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qaws_table* t= (gsl_integration_qaws_table*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_integration_qaws_table_Typer );

  gsl_integration_qaws_table_free( t );
}
/* gsl_integration.h */
static void dao__gsl_integration_qawo_table_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  double omega= (double) _p[0]->v.d;
  double L= (double) _p[1]->v.d;
  enum gsl_integration_qawo_enum sine= (enum gsl_integration_qawo_enum) _p[2]->v.i;
  size_t n= (size_t) _p[3]->v.i;

  gsl_integration_qawo_table* _gsl_integration_qawo_table_alloc = gsl_integration_qawo_table_alloc( omega, L, sine, n );
  DaoContext_WrapCData( _ctx, (void*) _gsl_integration_qawo_table_alloc, dao_gsl_integration_qawo_table_Typer );
}
/* gsl_integration.h */
static void dao__gsl_integration_qawo_table_set( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table* t= (gsl_integration_qawo_table*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_integration_qawo_table_Typer );
  double omega= (double) _p[1]->v.d;
  double L= (double) _p[2]->v.d;
  enum gsl_integration_qawo_enum sine= (enum gsl_integration_qawo_enum) _p[3]->v.i;

  int _gsl_integration_qawo_table_set = gsl_integration_qawo_table_set( t, omega, L, sine );
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qawo_table_set );
}
/* gsl_integration.h */
static void dao__gsl_integration_qawo_table_set_length( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table* t= (gsl_integration_qawo_table*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_integration_qawo_table_Typer );
  double L= (double) _p[1]->v.d;

  int _gsl_integration_qawo_table_set_length = gsl_integration_qawo_table_set_length( t, L );
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qawo_table_set_length );
}
/* gsl_integration.h */
static void dao__gsl_integration_qawo_table_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_integration_qawo_table* t= (gsl_integration_qawo_table*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_integration_qawo_table_Typer );

  gsl_integration_qawo_table_free( t );
}
/* gsl_integration.h */
static void dao__gsl_integration_qk15( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  double result= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;
  double resabs= (double) _p[5]->v.d;
  double resasc= (double) _p[6]->v.d;

  gsl_integration_qk15( f, a, b, & result, & abserr, & resabs, & resasc );
  _p[3]->v.d = (double) result;
  _p[4]->v.d = (double) abserr;
  _p[5]->v.d = (double) resabs;
  _p[6]->v.d = (double) resasc;
}
/* gsl_integration.h */
static void dao__gsl_integration_qk21( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  double result= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;
  double resabs= (double) _p[5]->v.d;
  double resasc= (double) _p[6]->v.d;

  gsl_integration_qk21( f, a, b, & result, & abserr, & resabs, & resasc );
  _p[3]->v.d = (double) result;
  _p[4]->v.d = (double) abserr;
  _p[5]->v.d = (double) resabs;
  _p[6]->v.d = (double) resasc;
}
/* gsl_integration.h */
static void dao__gsl_integration_qk31( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  double result= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;
  double resabs= (double) _p[5]->v.d;
  double resasc= (double) _p[6]->v.d;

  gsl_integration_qk31( f, a, b, & result, & abserr, & resabs, & resasc );
  _p[3]->v.d = (double) result;
  _p[4]->v.d = (double) abserr;
  _p[5]->v.d = (double) resabs;
  _p[6]->v.d = (double) resasc;
}
/* gsl_integration.h */
static void dao__gsl_integration_qk41( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  double result= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;
  double resabs= (double) _p[5]->v.d;
  double resasc= (double) _p[6]->v.d;

  gsl_integration_qk41( f, a, b, & result, & abserr, & resabs, & resasc );
  _p[3]->v.d = (double) result;
  _p[4]->v.d = (double) abserr;
  _p[5]->v.d = (double) resabs;
  _p[6]->v.d = (double) resasc;
}
/* gsl_integration.h */
static void dao__gsl_integration_qk51( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  double result= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;
  double resabs= (double) _p[5]->v.d;
  double resasc= (double) _p[6]->v.d;

  gsl_integration_qk51( f, a, b, & result, & abserr, & resabs, & resasc );
  _p[3]->v.d = (double) result;
  _p[4]->v.d = (double) abserr;
  _p[5]->v.d = (double) resabs;
  _p[6]->v.d = (double) resasc;
}
/* gsl_integration.h */
static void dao__gsl_integration_qk61( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  double result= (double) _p[3]->v.d;
  double abserr= (double) _p[4]->v.d;
  double resabs= (double) _p[5]->v.d;
  double resasc= (double) _p[6]->v.d;

  gsl_integration_qk61( f, a, b, & result, & abserr, & resabs, & resasc );
  _p[3]->v.d = (double) result;
  _p[4]->v.d = (double) abserr;
  _p[5]->v.d = (double) resabs;
  _p[6]->v.d = (double) resasc;
}
/* gsl_integration.h */
static void dao__gsl_integration_qcheb( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  double cheb12= (double) _p[3]->v.d;
  double cheb24= (double) _p[4]->v.d;

  gsl_integration_qcheb( f, a, b, & cheb12, & cheb24 );
  _p[3]->v.d = (double) cheb12;
  _p[4]->v.d = (double) cheb24;
}
/* gsl_integration.h */
static void dao__gsl_integration_qk( DaoContext *_ctx, DValue *_p[], int _n )
{
  int n= (int) _p[0]->v.i;
  double* xgk= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* wg= (double*) DaoArray_ToDouble( _p[2]->v.array );
  double* wgk= (double*) DaoArray_ToDouble( _p[3]->v.array );
  double* fv1= (double*) DaoArray_ToDouble( _p[4]->v.array );
  double* fv2= (double*) DaoArray_ToDouble( _p[5]->v.array );
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[7]->v.d;
  double b= (double) _p[8]->v.d;
  double result= (double) _p[9]->v.d;
  double abserr= (double) _p[10]->v.d;
  double resabs= (double) _p[11]->v.d;
  double resasc= (double) _p[12]->v.d;

  gsl_integration_qk( n, xgk, wg, wgk, fv1, fv2, f, a, b, & result, & abserr, & resabs, & resasc );
  _p[9]->v.d = (double) result;
  _p[10]->v.d = (double) abserr;
  _p[11]->v.d = (double) resabs;
  _p[12]->v.d = (double) resasc;
}
/* gsl_integration.h */
static void dao__gsl_integration_qng( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  double epsabs= (double) _p[3]->v.d;
  double epsrel= (double) _p[4]->v.d;
  double result= (double) _p[5]->v.d;
  double abserr= (double) _p[6]->v.d;
  size_t neval= (size_t) _p[7]->v.i;

  int _gsl_integration_qng = gsl_integration_qng( f, a, b, epsabs, epsrel, & result, & abserr, & neval );
  _p[5]->v.d = (double) result;
  _p[6]->v.d = (double) abserr;
  _p[7]->v.i = (int) neval;
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qng );
}
/* gsl_integration.h */
static void dao__gsl_integration_qag( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  double epsabs= (double) _p[3]->v.d;
  double epsrel= (double) _p[4]->v.d;
  size_t limit= (size_t) _p[5]->v.i;
  int key= (int) _p[6]->v.i;
  gsl_integration_workspace* workspace= (gsl_integration_workspace*) DaoCData_CastData( _p[7]->v.cdata, dao_gsl_integration_workspace_Typer );
  double result= (double) _p[8]->v.d;
  double abserr= (double) _p[9]->v.d;

  int _gsl_integration_qag = gsl_integration_qag( f, a, b, epsabs, epsrel, limit, key, workspace, & result, & abserr );
  _p[8]->v.d = (double) result;
  _p[9]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qag );
}
/* gsl_integration.h */
static void dao__gsl_integration_qagi( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double epsabs= (double) _p[1]->v.d;
  double epsrel= (double) _p[2]->v.d;
  size_t limit= (size_t) _p[3]->v.i;
  gsl_integration_workspace* workspace= (gsl_integration_workspace*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_integration_workspace_Typer );
  double result= (double) _p[5]->v.d;
  double abserr= (double) _p[6]->v.d;

  int _gsl_integration_qagi = gsl_integration_qagi( f, epsabs, epsrel, limit, workspace, & result, & abserr );
  _p[5]->v.d = (double) result;
  _p[6]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qagi );
}
/* gsl_integration.h */
static void dao__gsl_integration_qagiu( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double epsabs= (double) _p[2]->v.d;
  double epsrel= (double) _p[3]->v.d;
  size_t limit= (size_t) _p[4]->v.i;
  gsl_integration_workspace* workspace= (gsl_integration_workspace*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_integration_workspace_Typer );
  double result= (double) _p[6]->v.d;
  double abserr= (double) _p[7]->v.d;

  int _gsl_integration_qagiu = gsl_integration_qagiu( f, a, epsabs, epsrel, limit, workspace, & result, & abserr );
  _p[6]->v.d = (double) result;
  _p[7]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qagiu );
}
/* gsl_integration.h */
static void dao__gsl_integration_qagil( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double b= (double) _p[1]->v.d;
  double epsabs= (double) _p[2]->v.d;
  double epsrel= (double) _p[3]->v.d;
  size_t limit= (size_t) _p[4]->v.i;
  gsl_integration_workspace* workspace= (gsl_integration_workspace*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_integration_workspace_Typer );
  double result= (double) _p[6]->v.d;
  double abserr= (double) _p[7]->v.d;

  int _gsl_integration_qagil = gsl_integration_qagil( f, b, epsabs, epsrel, limit, workspace, & result, & abserr );
  _p[6]->v.d = (double) result;
  _p[7]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qagil );
}
/* gsl_integration.h */
static void dao__gsl_integration_qags( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  double epsabs= (double) _p[3]->v.d;
  double epsrel= (double) _p[4]->v.d;
  size_t limit= (size_t) _p[5]->v.i;
  gsl_integration_workspace* workspace= (gsl_integration_workspace*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_integration_workspace_Typer );
  double result= (double) _p[7]->v.d;
  double abserr= (double) _p[8]->v.d;

  int _gsl_integration_qags = gsl_integration_qags( f, a, b, epsabs, epsrel, limit, workspace, & result, & abserr );
  _p[7]->v.d = (double) result;
  _p[8]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qags );
}
/* gsl_integration.h */
static void dao__gsl_integration_qagp( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double* pts= (double*) DaoArray_ToDouble( _p[1]->v.array );
  size_t npts= (size_t) _p[2]->v.i;
  double epsabs= (double) _p[3]->v.d;
  double epsrel= (double) _p[4]->v.d;
  size_t limit= (size_t) _p[5]->v.i;
  gsl_integration_workspace* workspace= (gsl_integration_workspace*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_integration_workspace_Typer );
  double result= (double) _p[7]->v.d;
  double abserr= (double) _p[8]->v.d;

  int _gsl_integration_qagp = gsl_integration_qagp( f, pts, npts, epsabs, epsrel, limit, workspace, & result, & abserr );
  _p[7]->v.d = (double) result;
  _p[8]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qagp );
}
/* gsl_integration.h */
static void dao__gsl_integration_qawc( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  double c= (double) _p[3]->v.d;
  double epsabs= (double) _p[4]->v.d;
  double epsrel= (double) _p[5]->v.d;
  size_t limit= (size_t) _p[6]->v.i;
  gsl_integration_workspace* workspace= (gsl_integration_workspace*) DaoCData_CastData( _p[7]->v.cdata, dao_gsl_integration_workspace_Typer );
  double result= (double) _p[8]->v.d;
  double abserr= (double) _p[9]->v.d;

  int _gsl_integration_qawc = gsl_integration_qawc( f, a, b, c, epsabs, epsrel, limit, workspace, & result, & abserr );
  _p[8]->v.d = (double) result;
  _p[9]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qawc );
}
/* gsl_integration.h */
static void dao__gsl_integration_qaws( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double b= (double) _p[2]->v.d;
  gsl_integration_qaws_table* t= (gsl_integration_qaws_table*) DaoCData_CastData( _p[3]->v.cdata, dao_gsl_integration_qaws_table_Typer );
  double epsabs= (double) _p[4]->v.d;
  double epsrel= (double) _p[5]->v.d;
  size_t limit= (size_t) _p[6]->v.i;
  gsl_integration_workspace* workspace= (gsl_integration_workspace*) DaoCData_CastData( _p[7]->v.cdata, dao_gsl_integration_workspace_Typer );
  double result= (double) _p[8]->v.d;
  double abserr= (double) _p[9]->v.d;

  int _gsl_integration_qaws = gsl_integration_qaws( f, a, b, t, epsabs, epsrel, limit, workspace, & result, & abserr );
  _p[8]->v.d = (double) result;
  _p[9]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qaws );
}
/* gsl_integration.h */
static void dao__gsl_integration_qawo( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double epsabs= (double) _p[2]->v.d;
  double epsrel= (double) _p[3]->v.d;
  size_t limit= (size_t) _p[4]->v.i;
  gsl_integration_workspace* workspace= (gsl_integration_workspace*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_integration_workspace_Typer );
  gsl_integration_qawo_table* wf= (gsl_integration_qawo_table*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_integration_qawo_table_Typer );
  double result= (double) _p[7]->v.d;
  double abserr= (double) _p[8]->v.d;

  int _gsl_integration_qawo = gsl_integration_qawo( f, a, epsabs, epsrel, limit, workspace, wf, & result, & abserr );
  _p[7]->v.d = (double) result;
  _p[8]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qawo );
}
/* gsl_integration.h */
static void dao__gsl_integration_qawf( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_function* f= (gsl_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_function_Typer );
  double a= (double) _p[1]->v.d;
  double epsabs= (double) _p[2]->v.d;
  size_t limit= (size_t) _p[3]->v.i;
  gsl_integration_workspace* workspace= (gsl_integration_workspace*) DaoCData_CastData( _p[4]->v.cdata, dao_gsl_integration_workspace_Typer );
  gsl_integration_workspace* cycle_workspace= (gsl_integration_workspace*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_integration_workspace_Typer );
  gsl_integration_qawo_table* wf= (gsl_integration_qawo_table*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_integration_qawo_table_Typer );
  double result= (double) _p[7]->v.d;
  double abserr= (double) _p[8]->v.d;

  int _gsl_integration_qawf = gsl_integration_qawf( f, a, epsabs, limit, workspace, cycle_workspace, wf, & result, & abserr );
  _p[7]->v.d = (double) result;
  _p[8]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_integration_qawf );
}
/* gsl_monte_miser.h */
static void dao__gsl_monte_miser_integrate( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_function* f= (gsl_monte_function*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_monte_function_Typer );
  double* xl= (double*) DaoArray_ToDouble( _p[1]->v.array );
  double* xh= (double*) DaoArray_ToDouble( _p[2]->v.array );
  size_t dim= (size_t) _p[3]->v.i;
  size_t calls= (size_t) _p[4]->v.i;
  gsl_rng* r= (gsl_rng*) DaoCData_CastData( _p[5]->v.cdata, dao_gsl_rng_Typer );
  gsl_monte_miser_state* state= (gsl_monte_miser_state*) DaoCData_CastData( _p[6]->v.cdata, dao_gsl_monte_miser_state_Typer );
  double result= (double) _p[7]->v.d;
  double abserr= (double) _p[8]->v.d;

  int _gsl_monte_miser_integrate = gsl_monte_miser_integrate( f, xl, xh, dim, calls, r, state, & result, & abserr );
  _p[7]->v.d = (double) result;
  _p[8]->v.d = (double) abserr;
  DaoContext_PutInteger( _ctx, (int) _gsl_monte_miser_integrate );
}
/* gsl_monte_miser.h */
static void dao__gsl_monte_miser_alloc( DaoContext *_ctx, DValue *_p[], int _n )
{
  size_t dim= (size_t) _p[0]->v.i;

  gsl_monte_miser_state* _gsl_monte_miser_alloc = gsl_monte_miser_alloc( dim );
  DaoContext_WrapCData( _ctx, (void*) _gsl_monte_miser_alloc, dao_gsl_monte_miser_state_Typer );
}
/* gsl_monte_miser.h */
static void dao__gsl_monte_miser_init( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state* state= (gsl_monte_miser_state*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_monte_miser_state_Typer );

  int _gsl_monte_miser_init = gsl_monte_miser_init( state );
  DaoContext_PutInteger( _ctx, (int) _gsl_monte_miser_init );
}
/* gsl_monte_miser.h */
static void dao__gsl_monte_miser_free( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_monte_miser_state* state= (gsl_monte_miser_state*) DaoCData_CastData( _p[0]->v.cdata, dao_gsl_monte_miser_state_Typer );

  gsl_monte_miser_free( state );
}

int DaoOnLoad( DaoVmSpace *vms, DaoNameSpace *ns )
{
  DaoTypeBase *typers[184];
  const char *aliases[27];
  __daoVmSpace = vms;
  typers[0] = dao__gsl_matrix_char_const_view_Typer,
  typers[1] = dao__gsl_matrix_char_view_Typer,
  typers[2] = dao__gsl_matrix_complex_const_view_Typer,
  typers[3] = dao__gsl_matrix_complex_float_const_view_Typer,
  typers[4] = dao__gsl_matrix_complex_float_view_Typer,
  typers[5] = dao__gsl_matrix_complex_long_double_const_view_Typer,
  typers[6] = dao__gsl_matrix_complex_long_double_view_Typer,
  typers[7] = dao__gsl_matrix_complex_view_Typer,
  typers[8] = dao__gsl_matrix_const_view_Typer,
  typers[9] = dao__gsl_matrix_float_const_view_Typer,
  typers[10] = dao__gsl_matrix_float_view_Typer,
  typers[11] = dao__gsl_matrix_int_const_view_Typer,
  typers[12] = dao__gsl_matrix_int_view_Typer,
  typers[13] = dao__gsl_matrix_long_const_view_Typer,
  typers[14] = dao__gsl_matrix_long_double_const_view_Typer,
  typers[15] = dao__gsl_matrix_long_double_view_Typer,
  typers[16] = dao__gsl_matrix_long_view_Typer,
  typers[17] = dao__gsl_matrix_short_const_view_Typer,
  typers[18] = dao__gsl_matrix_short_view_Typer,
  typers[19] = dao__gsl_matrix_uchar_const_view_Typer,
  typers[20] = dao__gsl_matrix_uchar_view_Typer,
  typers[21] = dao__gsl_matrix_uint_const_view_Typer,
  typers[22] = dao__gsl_matrix_uint_view_Typer,
  typers[23] = dao__gsl_matrix_ulong_const_view_Typer,
  typers[24] = dao__gsl_matrix_ulong_view_Typer,
  typers[25] = dao__gsl_matrix_ushort_const_view_Typer,
  typers[26] = dao__gsl_matrix_ushort_view_Typer,
  typers[27] = dao__gsl_matrix_view_Typer,
  typers[28] = dao__gsl_vector_char_const_view_Typer,
  typers[29] = dao__gsl_vector_char_view_Typer,
  typers[30] = dao__gsl_vector_complex_const_view_Typer,
  typers[31] = dao__gsl_vector_complex_float_const_view_Typer,
  typers[32] = dao__gsl_vector_complex_float_view_Typer,
  typers[33] = dao__gsl_vector_complex_long_double_const_view_Typer,
  typers[34] = dao__gsl_vector_complex_long_double_view_Typer,
  typers[35] = dao__gsl_vector_complex_view_Typer,
  typers[36] = dao__gsl_vector_const_view_Typer,
  typers[37] = dao__gsl_vector_float_const_view_Typer,
  typers[38] = dao__gsl_vector_float_view_Typer,
  typers[39] = dao__gsl_vector_int_const_view_Typer,
  typers[40] = dao__gsl_vector_int_view_Typer,
  typers[41] = dao__gsl_vector_long_const_view_Typer,
  typers[42] = dao__gsl_vector_long_double_const_view_Typer,
  typers[43] = dao__gsl_vector_long_double_view_Typer,
  typers[44] = dao__gsl_vector_long_view_Typer,
  typers[45] = dao__gsl_vector_short_const_view_Typer,
  typers[46] = dao__gsl_vector_short_view_Typer,
  typers[47] = dao__gsl_vector_uchar_const_view_Typer,
  typers[48] = dao__gsl_vector_uchar_view_Typer,
  typers[49] = dao__gsl_vector_uint_const_view_Typer,
  typers[50] = dao__gsl_vector_uint_view_Typer,
  typers[51] = dao__gsl_vector_ulong_const_view_Typer,
  typers[52] = dao__gsl_vector_ulong_view_Typer,
  typers[53] = dao__gsl_vector_ushort_const_view_Typer,
  typers[54] = dao__gsl_vector_ushort_view_Typer,
  typers[55] = dao__gsl_vector_view_Typer,
  typers[56] = dao_gsl_block_Typer,
  typers[57] = dao_gsl_block_char_Typer,
  typers[58] = dao_gsl_block_complex_Typer,
  typers[59] = dao_gsl_block_complex_float_Typer,
  typers[60] = dao_gsl_block_complex_long_double_Typer,
  typers[61] = dao_gsl_block_float_Typer,
  typers[62] = dao_gsl_block_int_Typer,
  typers[63] = dao_gsl_block_long_Typer,
  typers[64] = dao_gsl_block_long_double_Typer,
  typers[65] = dao_gsl_block_short_Typer,
  typers[66] = dao_gsl_block_uchar_Typer,
  typers[67] = dao_gsl_block_uint_Typer,
  typers[68] = dao_gsl_block_ulong_Typer,
  typers[69] = dao_gsl_block_ushort_Typer,
  typers[70] = dao_gsl_cheb_series_Typer,
  typers[71] = dao_gsl_complex_Typer,
  typers[72] = dao_gsl_complex_float_Typer,
  typers[73] = dao_gsl_complex_long_double_Typer,
  typers[74] = dao_gsl_dht_Typer,
  typers[75] = dao_gsl_eigen_francis_workspace_Typer,
  typers[76] = dao_gsl_eigen_gen_workspace_Typer,
  typers[77] = dao_gsl_eigen_genherm_workspace_Typer,
  typers[78] = dao_gsl_eigen_genhermv_workspace_Typer,
  typers[79] = dao_gsl_eigen_gensymm_workspace_Typer,
  typers[80] = dao_gsl_eigen_gensymmv_workspace_Typer,
  typers[81] = dao_gsl_eigen_genv_workspace_Typer,
  typers[82] = dao_gsl_eigen_herm_workspace_Typer,
  typers[83] = dao_gsl_eigen_hermv_workspace_Typer,
  typers[84] = dao_gsl_eigen_nonsymm_workspace_Typer,
  typers[85] = dao_gsl_eigen_nonsymmv_workspace_Typer,
  typers[86] = dao_gsl_eigen_symm_workspace_Typer,
  typers[87] = dao_gsl_eigen_symmv_workspace_Typer,
  typers[88] = dao_gsl_error_handler_t_Typer,
  typers[89] = dao_gsl_function_Typer,
  typers[90] = dao_gsl_function_fdf_Typer,
  typers[91] = dao_gsl_function_vec_Typer,
  typers[92] = dao_gsl_histogram_Typer,
  typers[93] = dao_gsl_histogram2d_Typer,
  typers[94] = dao_gsl_histogram2d_pdf_Typer,
  typers[95] = dao_gsl_histogram_pdf_Typer,
  typers[96] = dao_gsl_ieee_double_rep_Typer,
  typers[97] = dao_gsl_ieee_float_rep_Typer,
  typers[98] = dao_gsl_integration_qawo_table_Typer,
  typers[99] = dao_gsl_integration_qaws_table_Typer,
  typers[100] = dao_gsl_integration_workspace_Typer,
  typers[101] = dao_gsl_interp_Typer,
  typers[102] = dao_gsl_interp_accel_Typer,
  typers[103] = dao_gsl_interp_type_Typer,
  typers[104] = dao_gsl_matrix_Typer,
  typers[105] = dao_gsl_matrix_char_Typer,
  typers[106] = dao_gsl_matrix_complex_Typer,
  typers[107] = dao_gsl_matrix_complex_float_Typer,
  typers[108] = dao_gsl_matrix_complex_long_double_Typer,
  typers[109] = dao_gsl_matrix_float_Typer,
  typers[110] = dao_gsl_matrix_int_Typer,
  typers[111] = dao_gsl_matrix_long_Typer,
  typers[112] = dao_gsl_matrix_long_double_Typer,
  typers[113] = dao_gsl_matrix_short_Typer,
  typers[114] = dao_gsl_matrix_uchar_Typer,
  typers[115] = dao_gsl_matrix_uint_Typer,
  typers[116] = dao_gsl_matrix_ulong_Typer,
  typers[117] = dao_gsl_matrix_ushort_Typer,
  typers[118] = dao_gsl_min_fminimizer_Typer,
  typers[119] = dao_gsl_min_fminimizer_type_Typer,
  typers[120] = dao_gsl_monte_function_Typer,
  typers[121] = dao_gsl_monte_miser_state_Typer,
  typers[122] = dao_gsl_monte_plain_state_Typer,
  typers[123] = dao_gsl_monte_vegas_state_Typer,
  typers[124] = dao_gsl_multifit_fdfsolver_Typer,
  typers[125] = dao_gsl_multifit_fdfsolver_type_Typer,
  typers[126] = dao_gsl_multifit_fsolver_Typer,
  typers[127] = dao_gsl_multifit_fsolver_type_Typer,
  typers[128] = dao_gsl_multifit_function_Typer,
  typers[129] = dao_gsl_multifit_function_fdf_Typer,
  typers[130] = dao_gsl_multifit_linear_workspace_Typer,
  typers[131] = dao_gsl_multimin_fdfminimizer_Typer,
  typers[132] = dao_gsl_multimin_fdfminimizer_type_Typer,
  typers[133] = dao_gsl_multimin_fminimizer_Typer,
  typers[134] = dao_gsl_multimin_fminimizer_type_Typer,
  typers[135] = dao_gsl_multimin_function_Typer,
  typers[136] = dao_gsl_multimin_function_fdf_Typer,
  typers[137] = dao_gsl_multiroot_fdfsolver_Typer,
  typers[138] = dao_gsl_multiroot_fdfsolver_type_Typer,
  typers[139] = dao_gsl_multiroot_fsolver_Typer,
  typers[140] = dao_gsl_multiroot_fsolver_type_Typer,
  typers[141] = dao_gsl_multiroot_function_Typer,
  typers[142] = dao_gsl_multiroot_function_fdf_Typer,
  typers[143] = dao_gsl_ntuple_Typer,
  typers[144] = dao_gsl_ntuple_select_fn_Typer,
  typers[145] = dao_gsl_ntuple_value_fn_Typer,
  typers[146] = dao_gsl_odeiv_control_Typer,
  typers[147] = dao_gsl_odeiv_control_type_Typer,
  typers[148] = dao_gsl_odeiv_evolve_Typer,
  typers[149] = dao_gsl_odeiv_step_Typer,
  typers[150] = dao_gsl_odeiv_step_type_Typer,
  typers[151] = dao_gsl_odeiv_system_Typer,
  typers[152] = dao_gsl_permutation_Typer,
  typers[153] = dao_gsl_ran_discrete_t_Typer,
  typers[154] = dao_gsl_rng_Typer,
  typers[155] = dao_gsl_rng_type_Typer,
  typers[156] = dao_gsl_root_fdfsolver_Typer,
  typers[157] = dao_gsl_root_fdfsolver_type_Typer,
  typers[158] = dao_gsl_root_fsolver_Typer,
  typers[159] = dao_gsl_root_fsolver_type_Typer,
  typers[160] = dao_gsl_siman_copy_construct_t_Typer,
  typers[161] = dao_gsl_siman_params_t_Typer,
  typers[162] = dao_gsl_spline_Typer,
  typers[163] = dao_gsl_stream_handler_t_Typer,
  typers[164] = dao_gsl_sum_levin_u_workspace_Typer,
  typers[165] = dao_gsl_sum_levin_utrunc_workspace_Typer,
  typers[166] = dao_gsl_vector_Typer,
  typers[167] = dao_gsl_vector_char_Typer,
  typers[168] = dao_gsl_vector_complex_Typer,
  typers[169] = dao_gsl_vector_complex_float_Typer,
  typers[170] = dao_gsl_vector_complex_long_double_Typer,
  typers[171] = dao_gsl_vector_float_Typer,
  typers[172] = dao_gsl_vector_int_Typer,
  typers[173] = dao_gsl_vector_long_Typer,
  typers[174] = dao_gsl_vector_long_double_Typer,
  typers[175] = dao_gsl_vector_short_Typer,
  typers[176] = dao_gsl_vector_uchar_Typer,
  typers[177] = dao_gsl_vector_uint_Typer,
  typers[178] = dao_gsl_vector_ulong_Typer,
  typers[179] = dao_gsl_vector_ushort_Typer,
  typers[180] = dao_gsl_wavelet_Typer,
  typers[181] = dao_gsl_wavelet_type_Typer,
  typers[182] = dao_gsl_wavelet_workspace_Typer,
  typers[183] = NULL;
  aliases[0] = "gsl_cheb_series";
  aliases[1] = "gsl_cheb_series_struct";
  aliases[2] = "gsl_dht";
  aliases[3] = "gsl_dht_struct";
  aliases[4] = "gsl_function_fdf";
  aliases[5] = "gsl_function_fdf_struct";
  aliases[6] = "gsl_function";
  aliases[7] = "gsl_function_struct";
  aliases[8] = "gsl_function_vec";
  aliases[9] = "gsl_function_vec_struct";
  aliases[10] = "gsl_monte_function";
  aliases[11] = "gsl_monte_function_struct";
  aliases[12] = "gsl_multifit_function_fdf";
  aliases[13] = "gsl_multifit_function_fdf_struct";
  aliases[14] = "gsl_multifit_function";
  aliases[15] = "gsl_multifit_function_struct";
  aliases[16] = "gsl_multimin_function_fdf";
  aliases[17] = "gsl_multimin_function_fdf_struct";
  aliases[18] = "gsl_multimin_function";
  aliases[19] = "gsl_multimin_function_struct";
  aliases[20] = "gsl_multiroot_function_fdf";
  aliases[21] = "gsl_multiroot_function_fdf_struct";
  aliases[22] = "gsl_multiroot_function";
  aliases[23] = "gsl_multiroot_function_struct";
  aliases[24] = "gsl_siman_copy_construct_t";
  aliases[25] = "gsl_siman_copy_construct_t_x";
  aliases[26] = NULL;
  DaoNameSpace_TypeDefine( ns, "double", "gsl_complex_packed" );
  DaoNameSpace_TypeDefine( ns, "double", "gsl_complex_packed_array" );
  DaoNameSpace_TypeDefine( ns, "double", "gsl_complex_packed_array_long_double" );
  DaoNameSpace_TypeDefine( ns, "double", "gsl_complex_packed_long_double" );
  DaoNameSpace_TypeDefine( ns, "double", "gsl_complex_packed_long_double_ptr" );
  DaoNameSpace_TypeDefine( ns, "double", "gsl_complex_packed_ptr" );
  DaoNameSpace_TypeDefine( ns, "float", "gsl_complex_packed_array_float" );
  DaoNameSpace_TypeDefine( ns, "float", "gsl_complex_packed_float" );
  DaoNameSpace_TypeDefine( ns, "float", "gsl_complex_packed_float_ptr" );
  DaoNameSpace_TypeDefine( ns, "int", "gsl_eigen_sort_t" );
  DaoNameSpace_TypeDefine( ns, "int", "gsl_integration_qawo_enum" );
  DaoNameSpace_TypeDefine( ns, "int", "gsl_linalg_matrix_mod_t" );
  DaoNameSpace_TypeDefine( ns, "int", "gsl_mode_t" );
  DaoNameSpace_TypeDefine( ns, "int", "gsl_prec_t" );
  DaoNameSpace_TypeDefine( ns, "int", "gsl_wavelet_direction" );
  DaoNameSpace_AddConstNumbers( ns, constNumbers );
  DaoNameSpace_WrapTypes( ns, typers );
  DaoNameSpace_TypeDefines( ns, aliases );
  DaoNameSpace_AddConstData( ns, "gsl_root_fdfsolver_newton", (DaoBase*)DaoCData_Wrap( dao_gsl_root_fdfsolver_type_Typer, (gsl_root_fdfsolver_type*)  gsl_root_fdfsolver_newton ) );
  DaoNameSpace_AddConstData( ns, "gsl_root_fdfsolver_secant", (DaoBase*)DaoCData_Wrap( dao_gsl_root_fdfsolver_type_Typer, (gsl_root_fdfsolver_type*)  gsl_root_fdfsolver_secant ) );
  DaoNameSpace_AddConstData( ns, "gsl_root_fdfsolver_steffenson", (DaoBase*)DaoCData_Wrap( dao_gsl_root_fdfsolver_type_Typer, (gsl_root_fdfsolver_type*)  gsl_root_fdfsolver_steffenson ) );
  DaoNameSpace_AddConstData( ns, "gsl_interp_akima", (DaoBase*)DaoCData_Wrap( dao_gsl_interp_type_Typer, (gsl_interp_type*)  gsl_interp_akima ) );
  DaoNameSpace_AddConstData( ns, "gsl_interp_akima_periodic", (DaoBase*)DaoCData_Wrap( dao_gsl_interp_type_Typer, (gsl_interp_type*)  gsl_interp_akima_periodic ) );
  DaoNameSpace_AddConstData( ns, "gsl_interp_cspline", (DaoBase*)DaoCData_Wrap( dao_gsl_interp_type_Typer, (gsl_interp_type*)  gsl_interp_cspline ) );
  DaoNameSpace_AddConstData( ns, "gsl_interp_cspline_periodic", (DaoBase*)DaoCData_Wrap( dao_gsl_interp_type_Typer, (gsl_interp_type*)  gsl_interp_cspline_periodic ) );
  DaoNameSpace_AddConstData( ns, "gsl_interp_linear", (DaoBase*)DaoCData_Wrap( dao_gsl_interp_type_Typer, (gsl_interp_type*)  gsl_interp_linear ) );
  DaoNameSpace_AddConstData( ns, "gsl_interp_polynomial", (DaoBase*)DaoCData_Wrap( dao_gsl_interp_type_Typer, (gsl_interp_type*)  gsl_interp_polynomial ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_borosh13", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_borosh13 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_cmrg", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_cmrg ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_coveyou", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_coveyou ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_default", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_default ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_fishman18", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_fishman18 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_fishman20", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_fishman20 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_fishman2x", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_fishman2x ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_gfsr4", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_gfsr4 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_knuthran", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_knuthran ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_knuthran2", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_knuthran2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_knuthran2002", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_knuthran2002 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_lecuyer21", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_lecuyer21 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_minstd", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_minstd ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_mrg", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_mrg ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_mt19937", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_mt19937 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_mt19937_1998", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_mt19937_1998 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_mt19937_1999", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_mt19937_1999 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_r250", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_r250 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ran0", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ran0 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ran1", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ran1 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ran2", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ran2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ran3", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ran3 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_rand", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_rand ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_rand48", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_rand48 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random128_bsd", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random128_bsd ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random128_glibc2", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random128_glibc2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random128_libc5", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random128_libc5 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random256_bsd", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random256_bsd ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random256_glibc2", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random256_glibc2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random256_libc5", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random256_libc5 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random32_bsd", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random32_bsd ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random32_glibc2", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random32_glibc2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random32_libc5", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random32_libc5 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random64_bsd", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random64_bsd ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random64_glibc2", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random64_glibc2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random64_libc5", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random64_libc5 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random8_bsd", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random8_bsd ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random8_glibc2", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random8_glibc2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random8_libc5", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random8_libc5 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random_bsd", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random_bsd ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random_glibc2", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random_glibc2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_random_libc5", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_random_libc5 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_randu", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_randu ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ranf", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ranf ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ranlux", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ranlux ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ranlux389", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ranlux389 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ranlxd1", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ranlxd1 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ranlxd2", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ranlxd2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ranlxs0", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ranlxs0 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ranlxs1", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ranlxs1 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ranlxs2", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ranlxs2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_ranmar", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_ranmar ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_slatec", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_slatec ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_taus", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_taus ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_taus113", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_taus113 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_taus2", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_taus2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_transputer", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_transputer ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_tt800", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_tt800 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_uni", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_uni ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_uni32", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_uni32 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_vax", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_vax ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_waterman14", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_waterman14 ) );
  DaoNameSpace_AddConstData( ns, "gsl_rng_zuf", (DaoBase*)DaoCData_Wrap( dao_gsl_rng_type_Typer, (gsl_rng_type*)  gsl_rng_zuf ) );
  DaoNameSpace_AddConstData( ns, "gsl_wavelet_bspline", (DaoBase*)DaoCData_Wrap( dao_gsl_wavelet_type_Typer, (gsl_wavelet_type*)  gsl_wavelet_bspline ) );
  DaoNameSpace_AddConstData( ns, "gsl_wavelet_bspline_centered", (DaoBase*)DaoCData_Wrap( dao_gsl_wavelet_type_Typer, (gsl_wavelet_type*)  gsl_wavelet_bspline_centered ) );
  DaoNameSpace_AddConstData( ns, "gsl_wavelet_daubechies", (DaoBase*)DaoCData_Wrap( dao_gsl_wavelet_type_Typer, (gsl_wavelet_type*)  gsl_wavelet_daubechies ) );
  DaoNameSpace_AddConstData( ns, "gsl_wavelet_daubechies_centered", (DaoBase*)DaoCData_Wrap( dao_gsl_wavelet_type_Typer, (gsl_wavelet_type*)  gsl_wavelet_daubechies_centered ) );
  DaoNameSpace_AddConstData( ns, "gsl_wavelet_haar", (DaoBase*)DaoCData_Wrap( dao_gsl_wavelet_type_Typer, (gsl_wavelet_type*)  gsl_wavelet_haar ) );
  DaoNameSpace_AddConstData( ns, "gsl_wavelet_haar_centered", (DaoBase*)DaoCData_Wrap( dao_gsl_wavelet_type_Typer, (gsl_wavelet_type*)  gsl_wavelet_haar_centered ) );
  DaoNameSpace_AddConstData( ns, "gsl_odeiv_step_bsimp", (DaoBase*)DaoCData_Wrap( dao_gsl_odeiv_step_type_Typer, (gsl_odeiv_step_type*)  gsl_odeiv_step_bsimp ) );
  DaoNameSpace_AddConstData( ns, "gsl_odeiv_step_gear1", (DaoBase*)DaoCData_Wrap( dao_gsl_odeiv_step_type_Typer, (gsl_odeiv_step_type*)  gsl_odeiv_step_gear1 ) );
  DaoNameSpace_AddConstData( ns, "gsl_odeiv_step_gear2", (DaoBase*)DaoCData_Wrap( dao_gsl_odeiv_step_type_Typer, (gsl_odeiv_step_type*)  gsl_odeiv_step_gear2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_odeiv_step_rk2", (DaoBase*)DaoCData_Wrap( dao_gsl_odeiv_step_type_Typer, (gsl_odeiv_step_type*)  gsl_odeiv_step_rk2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_odeiv_step_rk2imp", (DaoBase*)DaoCData_Wrap( dao_gsl_odeiv_step_type_Typer, (gsl_odeiv_step_type*)  gsl_odeiv_step_rk2imp ) );
  DaoNameSpace_AddConstData( ns, "gsl_odeiv_step_rk2simp", (DaoBase*)DaoCData_Wrap( dao_gsl_odeiv_step_type_Typer, (gsl_odeiv_step_type*)  gsl_odeiv_step_rk2simp ) );
  DaoNameSpace_AddConstData( ns, "gsl_odeiv_step_rk4", (DaoBase*)DaoCData_Wrap( dao_gsl_odeiv_step_type_Typer, (gsl_odeiv_step_type*)  gsl_odeiv_step_rk4 ) );
  DaoNameSpace_AddConstData( ns, "gsl_odeiv_step_rk4imp", (DaoBase*)DaoCData_Wrap( dao_gsl_odeiv_step_type_Typer, (gsl_odeiv_step_type*)  gsl_odeiv_step_rk4imp ) );
  DaoNameSpace_AddConstData( ns, "gsl_odeiv_step_rk8pd", (DaoBase*)DaoCData_Wrap( dao_gsl_odeiv_step_type_Typer, (gsl_odeiv_step_type*)  gsl_odeiv_step_rk8pd ) );
  DaoNameSpace_AddConstData( ns, "gsl_odeiv_step_rkck", (DaoBase*)DaoCData_Wrap( dao_gsl_odeiv_step_type_Typer, (gsl_odeiv_step_type*)  gsl_odeiv_step_rkck ) );
  DaoNameSpace_AddConstData( ns, "gsl_odeiv_step_rkf45", (DaoBase*)DaoCData_Wrap( dao_gsl_odeiv_step_type_Typer, (gsl_odeiv_step_type*)  gsl_odeiv_step_rkf45 ) );
  DaoNameSpace_AddConstData( ns, "gsl_root_fsolver_bisection", (DaoBase*)DaoCData_Wrap( dao_gsl_root_fsolver_type_Typer, (gsl_root_fsolver_type*)  gsl_root_fsolver_bisection ) );
  DaoNameSpace_AddConstData( ns, "gsl_root_fsolver_brent", (DaoBase*)DaoCData_Wrap( dao_gsl_root_fsolver_type_Typer, (gsl_root_fsolver_type*)  gsl_root_fsolver_brent ) );
  DaoNameSpace_AddConstData( ns, "gsl_root_fsolver_falsepos", (DaoBase*)DaoCData_Wrap( dao_gsl_root_fsolver_type_Typer, (gsl_root_fsolver_type*)  gsl_root_fsolver_falsepos ) );
  DaoNameSpace_AddConstData( ns, "gsl_min_fminimizer_brent", (DaoBase*)DaoCData_Wrap( dao_gsl_min_fminimizer_type_Typer, (gsl_min_fminimizer_type*)  gsl_min_fminimizer_brent ) );
  DaoNameSpace_AddConstData( ns, "gsl_min_fminimizer_goldensection", (DaoBase*)DaoCData_Wrap( dao_gsl_min_fminimizer_type_Typer, (gsl_min_fminimizer_type*)  gsl_min_fminimizer_goldensection ) );
  DaoNameSpace_AddConstData( ns, "gsl_multifit_fdfsolver_lmder", (DaoBase*)DaoCData_Wrap( dao_gsl_multifit_fdfsolver_type_Typer, (gsl_multifit_fdfsolver_type*)  gsl_multifit_fdfsolver_lmder ) );
  DaoNameSpace_AddConstData( ns, "gsl_multifit_fdfsolver_lmsder", (DaoBase*)DaoCData_Wrap( dao_gsl_multifit_fdfsolver_type_Typer, (gsl_multifit_fdfsolver_type*)  gsl_multifit_fdfsolver_lmsder ) );
  DaoNameSpace_AddConstData( ns, "gsl_multimin_fminimizer_nmsimplex", (DaoBase*)DaoCData_Wrap( dao_gsl_multimin_fminimizer_type_Typer, (gsl_multimin_fminimizer_type*)  gsl_multimin_fminimizer_nmsimplex ) );
  DaoNameSpace_AddConstData( ns, "gsl_multimin_fminimizer_nmsimplex2", (DaoBase*)DaoCData_Wrap( dao_gsl_multimin_fminimizer_type_Typer, (gsl_multimin_fminimizer_type*)  gsl_multimin_fminimizer_nmsimplex2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_multimin_fdfminimizer_conjugate_fr", (DaoBase*)DaoCData_Wrap( dao_gsl_multimin_fdfminimizer_type_Typer, (gsl_multimin_fdfminimizer_type*)  gsl_multimin_fdfminimizer_conjugate_fr ) );
  DaoNameSpace_AddConstData( ns, "gsl_multimin_fdfminimizer_conjugate_pr", (DaoBase*)DaoCData_Wrap( dao_gsl_multimin_fdfminimizer_type_Typer, (gsl_multimin_fdfminimizer_type*)  gsl_multimin_fdfminimizer_conjugate_pr ) );
  DaoNameSpace_AddConstData( ns, "gsl_multimin_fdfminimizer_steepest_descent", (DaoBase*)DaoCData_Wrap( dao_gsl_multimin_fdfminimizer_type_Typer, (gsl_multimin_fdfminimizer_type*)  gsl_multimin_fdfminimizer_steepest_descent ) );
  DaoNameSpace_AddConstData( ns, "gsl_multimin_fdfminimizer_vector_bfgs", (DaoBase*)DaoCData_Wrap( dao_gsl_multimin_fdfminimizer_type_Typer, (gsl_multimin_fdfminimizer_type*)  gsl_multimin_fdfminimizer_vector_bfgs ) );
  DaoNameSpace_AddConstData( ns, "gsl_multimin_fdfminimizer_vector_bfgs2", (DaoBase*)DaoCData_Wrap( dao_gsl_multimin_fdfminimizer_type_Typer, (gsl_multimin_fdfminimizer_type*)  gsl_multimin_fdfminimizer_vector_bfgs2 ) );
  DaoNameSpace_AddConstData( ns, "gsl_multiroot_fsolver_broyden", (DaoBase*)DaoCData_Wrap( dao_gsl_multiroot_fsolver_type_Typer, (gsl_multiroot_fsolver_type*)  gsl_multiroot_fsolver_broyden ) );
  DaoNameSpace_AddConstData( ns, "gsl_multiroot_fsolver_dnewton", (DaoBase*)DaoCData_Wrap( dao_gsl_multiroot_fsolver_type_Typer, (gsl_multiroot_fsolver_type*)  gsl_multiroot_fsolver_dnewton ) );
  DaoNameSpace_AddConstData( ns, "gsl_multiroot_fsolver_hybrid", (DaoBase*)DaoCData_Wrap( dao_gsl_multiroot_fsolver_type_Typer, (gsl_multiroot_fsolver_type*)  gsl_multiroot_fsolver_hybrid ) );
  DaoNameSpace_AddConstData( ns, "gsl_multiroot_fsolver_hybrids", (DaoBase*)DaoCData_Wrap( dao_gsl_multiroot_fsolver_type_Typer, (gsl_multiroot_fsolver_type*)  gsl_multiroot_fsolver_hybrids ) );
  DaoNameSpace_AddConstData( ns, "gsl_multiroot_fdfsolver_gnewton", (DaoBase*)DaoCData_Wrap( dao_gsl_multiroot_fdfsolver_type_Typer, (gsl_multiroot_fdfsolver_type*)  gsl_multiroot_fdfsolver_gnewton ) );
  DaoNameSpace_AddConstData( ns, "gsl_multiroot_fdfsolver_hybridj", (DaoBase*)DaoCData_Wrap( dao_gsl_multiroot_fdfsolver_type_Typer, (gsl_multiroot_fdfsolver_type*)  gsl_multiroot_fdfsolver_hybridj ) );
  DaoNameSpace_AddConstData( ns, "gsl_multiroot_fdfsolver_hybridsj", (DaoBase*)DaoCData_Wrap( dao_gsl_multiroot_fdfsolver_type_Typer, (gsl_multiroot_fdfsolver_type*)  gsl_multiroot_fdfsolver_hybridsj ) );
  DaoNameSpace_AddConstData( ns, "gsl_multiroot_fdfsolver_newton", (DaoBase*)DaoCData_Wrap( dao_gsl_multiroot_fdfsolver_type_Typer, (gsl_multiroot_fdfsolver_type*)  gsl_multiroot_fdfsolver_newton ) );
  DaoNameSpace_WrapFunctions( ns, dao_Funcs );
  return 0;
}
#ifdef __cplusplus
}
#endif

